即时通过php和regex制作简单的文字游戏,如果字符串必须要求两个或更多单词,我们如何搜索?
让我们说
"cat"
"dog"
"play" x 2
如果
“猫狗玩游戏”传递
“你好,一只猫狗在玩”没有传递,只有1只“玩”“cat”没有传递,没有狗和2x游戏
“我想要一只猫和狗一起玩,和爷爷一起玩”传递
我们如何才能与正则表达式匹配?
答案 0 :(得分:6)
你正在寻找的正则表达式是:
/(?=.*?\bcat\b)(?=.*?\bdog\b)(?=(.*?\bplay\b){2})^.*$/
说明:我认为单词cat
,dog
和play
(两次)可以按任何顺序出现在文本中,但它们必须全部出现在有资格的句子。正则表达式使用正向前瞻以确保存在上述条件。
答案 1 :(得分:2)
尝试preg_match_all(/cat.+dog(.+play){2}/i,$str,$out);