[英]Regex php matches
我想用preg_match
函数检查单词是否包含前缀:如果我有post_word
或 `best_word
所以我的前缀是post
和best
。
我应该在这里使用哪种模式?
我试过:
((?:best_|post_)("word":)\s*("?[^,}"\s]+"?),?)
它应该匹配这些术语:
您可以使用|
来制作捕获组中的交替列表。 . 你应该使用单词边界,这样你就不会得到部分匹配。
/\b(?<prefix>post_|best_)?word\b/i
这里不需要命名捕获组,只是为了显示前缀的位置。
/\b(?:post_|best_)?word\b/i
将发挥相同的作用。
不清楚您在正则表达式中使用引号、空格、冒号和逗号做什么。 从您的示例字符串中,此正则表达式应该可以工作:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.