我正在尝试解析文件并对其进行分析。为此,我使用preg_split()将文档分解为数组。我只想要数组中的单词(否则是字母字符)。我使用的正则表达式是:
$noAlpha = "/[\s]+|[^A-z]+|\W|\r/";
但是,我在数组中得到了空白的实例。我认为它只与一个只返回(\r
)的行有关,而且没有别的。
我只使用.txt文件。我需要添加到正则表达式来解释这个问题吗?
答案 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_]+/'