php – preg_replace删除独立的数字

前端之家收集整理的这篇文章主要介绍了php – preg_replace删除独立的数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要从数字没有相邻字符(包括短划线)的字符串中替换所有独立数字,例如:

Test 3 string 49Test 49test9 9

应该返回Test string 49Test 49Test9

到目前为止,我一直在玩:

$str = 'Test 3 string 49Test 49test9 9';
   $str= preg_replace('/[^a-z\-]+(\d+)[^a-z\-]+?/isU',' ',$str);
   echo $str;

但是没有运气,这会回来

Test string 9Test 9test9

遗漏了部分字符串,我想将[0-9]添加到比赛中,但无济于事,我错过了什么,看起来如此简单?

提前致谢

尝试使用单词边界和负面环视作为连字符,例如
$str = preg_replace('/\b(?<!-)\d+(?!-)\b/','',$str);

猜你在找的PHP相关文章