首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

怎么编写不匹配指定单词的正则表达式

2013-02-18 
如何编写不匹配指定单词的正则表达式?不如说一个字符串里面有abc def ghi abcdef 这里指定不匹配abc这个

如何编写不匹配指定单词的正则表达式?
不如说一个字符串里面有"abc def ghi abcdef" 这里指定不匹配abc这个单词其他的"def ghi abcdef"都可以匹配我写的/\b(?!abc)\w+\b/。。只不过 这个有个问题的是以abc开头的单词都不会匹配。。这个正则表达式应该怎么写呢?
[解决办法]
echo  preg_replace('/\babc\b/','',"abc def ghi abcdef");
[解决办法]
多写一步,你再以空格分割就是了。
[解决办法]

引用:
echo  preg_replace('/\babc\b/','',"abc def ghi abcdef");


不用那么麻烦的~

<?php 
$str = 'abc def ghi abcdef';
preg_match_all('/\b(?!abc\b)\w+\b/', $str, $matches);
var_dump($matches);
?>


输出结果:
array(1) {
  [0]=>
  array(3) {
    [0]=>
    string(3) "def"
    [1]=>
    string(3) "ghi"
    [2]=>
    string(6) "abcdef"
  }
}

热点排行