在下表中,我只需要第一个数字
tqt
T P/S NAME TOTAL FOP SEGMENTS
9 .3 TMACDORMAN/SAM CORBIN USD 1177.17 CHECK 4-5
10 .1 TLOJ/DANUTA ISABELLA USD 1341.17 CHECK 4-5
10 .2 TMACDORMAN/JACK HENRY USD 1341.17 CHECK 4-5
根据上面的字符串,我只需要
9
10
10
现在我正在使用下面的regex
(?:\d)([0-9]{0,}(?<!\.\d))
但是它显示了列'FOP‘和'SEGMENT’的编号。
发布于 2013-05-16 17:20:36
要捕获每行的第一个数字(前面可能有空格),您可以使用:
(?m)^ *(\d+)
(?m)
使^
匹配在行的开头,而不仅仅是字符串的开头。
发布于 2013-05-16 17:01:00
我尝试过(\d+)\s+.*
,这对我来说似乎很有效,如果你想要的只是第一个数字。
我打开了ignore-case和多行。
发布于 2013-05-16 17:13:13
^(\s+(?<number>[0-9]+)[^\n]+(\n)?)+
然后读取NUMBER组的内容
或者如果您单独解析每行
^\s+(?<number>[0-9]+)[^\n]+(\n)?
https://stackoverflow.com/questions/16583099
复制相似问题