使用正则表达式匹配多个术语

时间:2011-08-16 11:47:48

标签: php regex preg-match-all

这是对我之前的帖子(Matching data from file with regex

的回复

然而,它只匹配一个关键字“DATA”,但该文件包含20个相同格式的其他关键字,但我只想提取3个特定的关键字,包括“DATA”,即“STAT”,“REG”,“ NET“

是否有符合这些特定条款?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

假设这是您现在使用的那个:

preg_match_all('/^\s*.?"(?:DATA|STAT|REG|NET)" (\d+)\.(\d+)\s*$/m', $str, $matches);

只需将子模式中的不同替代项分组(通过管道分隔),您就可以轻松匹配不同的值。请注意,parantheses开头的?:符号忽略该子模式的捕获。