模式我正在搜索至少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不是。
答案 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,}
注意,使用+
到处(而不是*
)匹配一个或多个出现的模式(而不是零或更多)。