php正则表达式删除数字


php regex remove digits

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

$city_location='英国,0113|利兹-纽约';$sip_city="0113Leeds new york";$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);

使用

$city = preg_replace('/[0-9]/', '', $sip_city);

在您的代码中,regex engine与字母表中没有的A-Za-z不匹配。所以空格不在字母表中,它们是匹配的。我对regex没有太多经验,但有一件事我已经明白了,那就是

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