REGEX至少有3个单词的句子

时间:2013-10-20 23:15:43

标签: regex

模式我正在搜索至少3个单词的句子。我现在要做的是:

REGEXP '^[A-Za-z0-9_]* [A-Za-z0-9_]* [A-Za-z0-9_]*'然而,我想出了1474个结果,当我进入excel,用公式仔细检查结果时,我想出了1893.我错过了一些模式吗?因为excel注意到这句话L'orfeo, Act 3 Sinfonia (Orchestra)但是REGEXP不是。

3 个答案:

答案 0 :(得分:2)

*表示0或更多;在这种情况下,我认为你的意思是++代表1或更多。您还可以尝试使用字符类\w来提高可读性,因为\w通常等同于[a-zA-Z0-9_]

答案 1 :(得分:2)

好吧,你的正则表达式不包括撇号...

尝试任何不是空格的东西:

^\S+\s+\S+\s+\S+

答案 2 :(得分:1)

您的角色类不包含',,因此正则表达式无法进行匹配。你需要

^[\w',]+\s[\w',]+\s[\w',]+

\w包括[a-zA-Z0-9_]。我已添加',以使其[\w',]。如果你有很多这样的非字母数字字符可以成为你的话语的一部分;最好匹配\S,即不是空格(空格,换行等)。

^\S+(\s\S+){2,}

注意,使用+到处(而不是*)匹配一个或多个出现的模式(而不是零或更多)。