0

我正在搜索至少包含 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 没有。

4

3 回答 3

2

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

于 2013-10-20T23:17:53.680 回答
2

好吧,您的正则表达式不包含撇号……</p>

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

^\S+\s+\S+\s+\S+
于 2013-10-20T23:18:00.247 回答
2

您的字符类不包括',因此正则表达式无法匹配。你需要

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

\w包括[a-zA-Z0-9_]. 我已经添加',制作它[\w',]。如果你有很多这样的非字母数字字符可以成为你的单词的一部分;最好匹配\Sie 而不是空格(空格、换行符等)

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

注意,使用+任何地方(而不是*)来匹配一次或多次出现的模式(而不是零次或多次)。

于 2013-10-20T23:21:17.660 回答