RegEx用于在文本块中查找两个单独的数据

时间:2011-01-21 17:04:49

标签: regex

寻找正则表达式来查找单词:David和07888998每行,可以找到不止一次。

这是数据:

abcasdahadMichaeljkhdkjh 0888881SNADNA
SSMA,DAAASDDDavidjhsjdha007888998
asdsdASDDDavidjhsjdha==007888998asffafa
asdsdASDDDavidjhsjdha==007888995asffafa
SSMA|DAAASDDDaidjhsjdha007888998

正则表达式应该找到2个匹配项。第2行和第3行。

感谢任何帮助。谢谢

4 个答案:

答案 0 :(得分:3)

由于顺序无关紧要,您可以使用正向前瞻断言(假设您使用的语言/工具支持它):

^(?=.*David)(?=.*07888998).*$

Rubular link

答案 1 :(得分:0)

如果订单很重要,那么/David.*07888998/会找到您想要的匹配项。

如果无关紧要,并且您希望确保它们至少出现一次,则可以“或”将两个正则表达式中的两个正则表达起来:/(David.*07888998|07888998.*David)/

答案 2 :(得分:0)

这应该有效:

/(David.*07888998)|(07888998.*David)/

答案 3 :(得分:0)

更多方式:

^(?=.*David)(?=.*07888998)

(?:.*(?!\1)(David|07888998)){2}

(.*(?!\2)(David|07888998)){2}