php正则表达式删除字符串中非字母字符的单词2018-01-15 22:30:30
比如说有这么一串字符“who is studying h3llo at & a university or li8ke college !”。
很明显,里面的“h3llo”和“li8ke”都是错误的。
我们要如何才能将这两个错误的单词删除掉呢?
我们可以尝试使用以下模式进行正则表达式替换
(?=[^ ]*[^A-Za-z '-])([^ ]*)(?:\s+|$)
使用一个前瞻来检查每个单词是否包含一个非alpha字符。
如果检测到它是一个非alpha字符,那么就删除整个单词。
当然也可以使用虚线和单引号。
$str="who is studying h3llo at & a university or li8ke college !";
echo preg_replace('/(?=[^ ]*[^A-Za-z '-])([^ ]*)(?:\s+|$)/', '',$str);
我们将得到结果
who is studying at a university or college
php正则表达式真的是非常强大,但是小编其实也不是很精通,还要多多学习。