我有一串数字代表3种不同的长度。我需要在字符串中选出第二个长度,但无法找到从匹配中排除空白区域。这是字符串的示例。它在点之后总是有6位数,但在它变化之前。在这种情况下,我需要907.086614
完全匹配。
1417.322835 907.086614 2.267717
^\s(\d+\.\d{6})
我已经玩过不同的背后但却无法排除白色空间。
答案 0 :(得分:1)
\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)
答案 1 :(得分:0)
答案 2 :(得分:0)