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

发布于 2024-11-29 16:36:41 字数 264 浏览 2 评论 0原文

这是对我之前的帖子的回应(将文件中的数据与正则表达式匹配

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

是否存在无论如何匹配这些具体条款?

先感谢您!

This is response to my previous thread (Matching data from file with regex)

However it was matching only one keyword "DATA", but the file contains 20 others in the same format, but I only want to pull out 3 specific ones including "DATA", which "STAT", "REG", "NET"

Is there anyway match these specific terms?

Thank you in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

踏雪无痕 2024-12-06 16:36:41

假设这就是您现在使用的:

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

只需将不同的替代方案分组到一个子模式(由管道分隔)中,您就可以轻松匹配不同的值。请注意,括号开头的 ?: 符号会忽略该子模式的捕获。

Assuming this is the one you're using now:

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

Simply by grouping the different alternatives in a subpattern (seperated by pipes) you can easily match different values. Note that the ?: symbol in the beginning of the parantheses ignores capture for that subpattern.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文