$text_expression = 'word1 word2 "phrase 1" "phrase 2" -word3 -word4 -"phrase \"hello\" 3" -"phrase 4"';
我想搜索包含(word1或word2 OR'phrase 1'或'phrase 2')并且不包含(word3 OR word4 OR或短语“hello”3或OR'短语4')基本正则表达式帮助
什么是正则表达式相当于上面的$ text_expression?它产生一个数组像;
[含有] =>数组(
) [犯规包含] =>数组(
[0] => word3
[1] => word4
[2] => phrase "hello" 3
)
PS:我可以配制串的另一种方式,如果它会使它更容易(例如使用其他字符代替引号和破折号)
请不要以为我只是问问我是懒惰的......我尝试了50个其他变体,并且在那些丑陋的字符之间找不到一些东西。 – Devrim 2010-08-23 20:47:50
在Perl中,由于正则表达式中的代码声明,这会更容易。你可以(用Perl)设置例如匹配期间的变量标志,并简单地在匹配后测试变量:/ ... word1(?{++ $ word_1;})... /,但这在PHP中不起作用。所以看起来你需要对字符串进行多次传递。 – 2010-08-23 21:02:58