我想检查单词是否包含preg_match
函数的前缀:
如果我有post_word
或'best_word
我的前缀是post
和best
。
我应该在这里使用哪种模式?
我试过了:
((?:best_|post_)("word":)\s*("?[^,}"\s]+"?),?)
它应符合以下条款:
答案 0 :(得分:0)
您可以使用|
制作捕获组中的替换列表。你应该使用单词边界,这样你就不会得到部分匹配。
/\b(?<prefix>post_|best_)?word\b/i
这里不需要指定的捕获组,只是为了显示前缀的位置。
/\b(?:post_|best_)?word\b/i
的功能相同。
目前还不清楚你正在使用正则表达式中的引号,空格,冒号和逗号。从你的示例字符串开始,这个正则表达式应该可以工作: