在下表中,我只需要第一个数字
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
复制相似问题