我是正则表达式的新手,并且遇到以下问题:
正在解析的文本文件:
KeywordA: 123
93 0 0 524 0 0 78 0 0 6789 0 0
KeywordB: 456
93 0 0 524 0 0 78 0 0 6789 0 0
KeywordC: 789
93 0 0 524 0 0 78 0 0 6789 0 0
现在,我想在“ KeywordB:456”之后的下一行中获取所有具有2个或更多数字的数字。
我尝试了表达式
/(?<=KeywordB:\t456\n\t)(\d{2,})/g
但是有了这个,我只会得到第一个数字(并且因为93是一个具有多个位数的数字)。
甚至有可能通过RegEx获得所有适当的匹配,而您想在一个模式之后有一个模式进行多个匹配并进行换行,或者我错过了一些基本知识?
最佳答案
使用.net,您可以使用可变长度的lookbehinds:
(?<=^KeywordB:\s*456\r?\n.*)\b\d{2,}
(使用多行选项)
demo