php正则表达式删除数字

php正则表达式删除数字,php,regex,Php,Regex,我需要一个正则表达式来删除字符串中的数字,但不能删除空格。我现在有 $city_location = 'UK,0113|Leeds new york'; $sip_city = '0113Leeds new york'; $city = preg_replace('/[^a-z]/i', '', $sip_city); $city_location='英国0113 |利兹纽约'; $sip_city='0113利兹纽约'; $city=preg_replace('/[^a-z]/i',''$s

我需要一个正则表达式来删除字符串中的数字,但不能删除空格。我现在有

$city_location = 'UK,0113|Leeds new york'; $sip_city = '0113Leeds new york'; $city = preg_replace('/[^a-z]/i', '', $sip_city); $city_location='英国0113 |利兹纽约'; $sip_city='0113利兹纽约'; $city=preg_replace('/[^a-z]/i',''$sip_city);
它会删除数字,但也会删除空格,因此我需要一个不会删除空格的正则表达式。

如果要删除所有数字,请使用
\d

$city = preg_replace('/\d/', '', $sip_city);
[^a-z\s]
如果要替换除字母和空格以外的所有字符

$city = preg_replace('/[^a-z\s]/i', '', $sip_city);
使用

在您的代码中,
regex引擎
与字母表中没有的
A-Z
A-Z
不匹配。所以空格不在字母表中,它们是匹配的。 我对正则表达式没有太多的经验,但有一件事我明白了

最好告诉正则表达式引擎 你想要什么,而不是告诉你想要什么 不要


我想您不需要这里的
I
标志:)Michael只是想删除数字,但您的代码会删除特殊字符,如$、@、#或其他字符。它不会删除的是字母表中的字母和空格below@lovesh,我的第一个解决方案将只删除数字。
$city = preg_replace('/[0-9]/', '', $sip_city);