我有一串代表3個不同長度的數字。我需要挑出字符串中的第二個長度,但找不到匹配中的空格。這是一個字符串的例子。它在點之後總是有6位數字,但在它變化之前。在這種情況下,我需要準確地匹配907.086614
。正則表達式在比賽中跳過空格
1417.322835 907.086614 2.267717
^\s(\d+\.\d{6})
我已經玩過不同的背後,但不能排除白色空間。
我有一串代表3個不同長度的數字。我需要挑出字符串中的第二個長度,但找不到匹配中的空格。這是一個字符串的例子。它在點之後總是有6位數字,但在它變化之前。在這種情況下,我需要準確地匹配907.086614
。正則表達式在比賽中跳過空格
1417.322835 907.086614 2.267717
^\s(\d+\.\d{6})
我已經玩過不同的背後,但不能排除白色空間。
是的我已經嘗試過,但它也會選擇最後一部分作爲以及 我獲得了兩場比賽。 1. 907.086614 2. 2.267717 我只想第一部分。 –
這是因爲您在使用的時候似乎並不適用於您的正則表達式 – Dalorzo
潛在的面與\s
的效果是它匹配回車。
既然你正在尋找一組彩車的第二列,最好是明確的:
\d[ \t](\d+\.\d+)[ \t]\d
^ trailing digit from first col
^ a single space or tab
^^^ capture float
^ single space or tab
^ leading digit of third col
您還可以將之間的捕獲向前看和向後看:
(?<=\d[ \t])(\d+\.\d+)(?=[ \t]\d)
感謝,似乎工作的全局修改。 –
感謝所有的建議,我現在的問題時,我已經將需要這個表達式它沒有積極lookbehinds和積極前瞻的支持應用程序嘗試這樣做。 Bummer :-( 所以有沒有其他的方式可以在沒有積極向後看的情況下工作? –
在我的答案中使用第二個模式如果它工作告訴我 –