php中所有非字母字符的正则表达式是什么?

时间:2017-03-14 14:56:33

标签: php regex

我正在尝试解析文件并对其进行分析。为此,我使用preg_split()将文档分解为数组。我只想要数组中的单词(否则是字母字符)。我使用的正则表达式是:

$noAlpha = "/[\s]+|[^A-z]+|\W|\r/";

但是,我在数组中得到了空白的实例。我认为它只与一个只返回(\r)的行有关,而且没有别的。

我只使用.txt文件。我需要添加到正则表达式来解释这个问题吗?

3 个答案:

答案 0 :(得分:1)

试试这个:    $noAlpha = "/\s+|[^a-zA-Z]+|\W|\r/";

答案 1 :(得分:1)

你可以试试这个:

$noAlpha = "/\s*\W\s*/";

但是,我也会用preg_match_all来提取单词。

答案 2 :(得分:1)

要提取所有单词(仅限字母),您可以使用此

preg_match_all('/[^\W\d_]+/',$string,$matches)

如果你也想要数字,那么模式应该是'/[^\W_]+/'