我正在搜索至少包含 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 个单词的句子的模式。我现在想做的是:
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 或更多;我想你的意思是+在这种情况下。+代表1个或更多。您也可以尝试使用字符类\w来提高可读性,因为\w它通常等同于[a-zA-Z0-9_].
好吧,您的正则表达式不包含撇号……</p>
尝试任何不是空格的东西:
^\S+\s+\S+\s+\S+
您的字符类不包括',,因此正则表达式无法匹配。你需要
^[\w',]+\s[\w',]+\s[\w',]+
\w包括[a-zA-Z0-9_]. 我已经添加'并,制作它[\w',]。如果你有很多这样的非字母数字字符可以成为你的单词的一部分;最好匹配\Sie 而不是空格(空格、换行符等)
^\S+(\s\S+){2,}
注意,使用+任何地方(而不是*)来匹配一次或多次出现的模式(而不是零次或多次)。