Regex 正则表达式:如果存在关键字,则匹配所有数字
我试图找到一个正则表达式,如果段落中存在关键字,它会搜索每个数字 例如,如果我的关键字是Regex 正则表达式:如果存在关键字,则匹配所有数字,regex,Regex,我试图找到一个正则表达式,如果段落中存在关键字,它会搜索每个数字 例如,如果我的关键字是something,则使用以下段落: 20 30 abc 40 def something 我的正则表达式应该得到20、30和40。但对于这一点: 50 60 xyz 它应该一无所获 你们能帮我找一个好的正则表达式吗。非常感谢你!我使用的是PCRE您可以在单行(DOTALL)模式下使用此正则表达式,并带有前瞻性断言: (?s)\b\d+(?=.*\bsomething\b) 只有当输入中前面有一个单词
something
,则使用以下段落:
20
30
abc
40
def
something
我的正则表达式应该得到20
、30
和40
。但对于这一点:
50
60
xyz
它应该一无所获
你们能帮我找一个好的正则表达式吗。非常感谢你!我使用的是PCRE您可以在单行(DOTALL)模式下使用此正则表达式,并带有前瞻性断言:
(?s)\b\d+(?=.*\bsomething\b)
只有当输入中前面有一个单词某物时,它才会匹配数字
正则表达式详细信息:
(?s)
:启用单行模式,以便点也匹配换行符
\b
:匹配单词边界
\d+
:匹配1+个数字
(?=.*\b某物\b)
:积极的前瞻性,以断言从当前位置来看,我们前面有一个单词某物
像魅力一样工作!!多谢各位