使用正则表达式(包括空格)在一串单词中获取所有字母

时间:2015-07-03 05:31:17

标签: php regex

如何提取所有字母字符(包括空格),例如:

@john camel07 st.doe!

我只想获得john camel stdoe

我尝试使用此another SO question中的正则表达式,但它不起作用。

2 个答案:

答案 0 :(得分:2)

$re = "/[^a-zA-Z ]+/"; 
$str = "@john camel07 st.doe!"; 
$subst = ""; 

$result = preg_replace($re, $subst, $str);

您可以简单地用empty string替换所有非alpha和空格字符。请参阅演示。

https://www.regex101.com/r/rL8wP1/7

答案 1 :(得分:1)

如果您的数据包含unicode,这应该会更好一点:

echo preg_replace("/[^[:alpha:][:space:]]/ui", '', '@john camel07 st.doe!');

借鉴https://stackoverflow.com/a/659030/1935500

的变化