正则表达式 php 匹配

我想检查单词是否包含带有preg_match函数的前缀:如果我有post_word或`best_word

所以我的前缀是postand best

我应该在这里使用哪种模式?

我试过了:

((?:best_|post_)("word":)\s*("?[^,}"\s]+"?),?)

它应该匹配这些术语:

  • 最好的词
  • post_word
  • 单词
  • 单词
  • best_Word
  • post_Word
克里斯85

您可以使用|. 你应该使用单词边界,这样你就不会得到部分匹配。

/\b(?<prefix>post_|best_)?word\b/i

这里不需要命名捕获组,只是为了显示前缀的位置。

/\b(?:post_|best_)?word\b/i

将发挥相同的作用。

不清楚您在正则表达式中使用引号、空格、冒号和逗号做什么。从您的示例字符串中,此正则表达式应该可以工作:

https://regex101.com/r/6b8ijy/2/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章