【发布时间】:2014-05-28 14:09:20
【问题描述】:
我只在文本块中搜索特定术语时,它们被其他“合格”术语包围。我制作了一个正则表达式,其中每个符合条件的术语都是一个选项:
(?<QUALIFY_A>(A\s(?<TERM>(Hi|Bye)))|(?<QUALIFY_B>B\s(?<TERM1>(Hi|Bye)))|(?<QUALIFY_C>C\s(?<TERM2>(Hi|Bye))))
到目前为止,它的行为符合我的预期,因为它会在限定表达式之前找到该术语的第一个匹配项。但是理想情况下,我希望每个人都返回,换句话说,一旦匹配就不会退出正则表达式。我意识到如果我只有一个选项,我可以做 /1/2 来获得多个匹配到一个选项,但在这种情况下,我会尝试让多个匹配到不同的选项。
【问题讨论】:
-
您使用什么语言?在PHP中你需要使用
preg_match_all,在其他语言中你需要使用global修饰符。
标签: regex