preg_replace使用正确的正则表达式匹配部分数据

时间:2014-09-21 14:14:24

标签: php regex

$str = a b c;
$str = preg_replace("/a|b|c\","" $str);

以上正则表达式只匹配a,b和c被排除在外。起初我以为它是由gobal引起的,但经过研究preg_match本身已启用默认全局。那究竟出了什么问题?

2 个答案:

答案 0 :(得分:0)

你的字符串周围需要引号:

$str = "a b c";

...替换文字和来源之间的逗号,并翻转你的结束RegEx斜线以匹配你的开头:

$str = preg_replace("/a|b|c/", "", $str);

这会将$ str设置为[space] [space]

答案 1 :(得分:0)

正则表达式必须包含在分隔符中。分隔符可以是任何非字母数字,非反斜杠,非空白字符。通常你使用/,它必须位于正则表达式字符串的开头和结尾。

php中的字符串也必须包含在"'中。

最后,您在preg_replace函数中缺少逗号。

$str = "a b c";
$str = preg_replace("/a|b|c/", "", $str);