0

如何从字符串中返回前五个单词

文本= 数据库?还没有。收藏!信息——最好是一些/甚至(相关信息),最好是?有组织的。v1.0 后期,tech=tech

pattern = ^(\w+\s+)([^\\]*(?:\\.[^'\\]*)*) - >这会返回整个字符串

但是,如果我尝试添加量词 {0,5}

模式= ^(\w+\s+)([^\\]*(?:\\.[^'\\]*)*){0,5} - >这个剂量根本不匹配

我只想从上面的这个文本中返回前 5 个匹配项,或者任何其他文本包含诸如上面的文本之类的字符

4

1 回答 1

2

我会试一试——

对于 Unicode:

 # ^(?:[^\pL\pN]*[\pL\pN](?:[\pL\pN_-]|\pP(?=[\pL\pN\pP_-]))*){1,5}

 ^
 (?:
      [^\pL\pN]* [\pL\pN]
      (?:
           [\pL\pN_-] 
        |  \pP
           (?= [\pL\pN\pP_-] )
      )*
 ){1,5}

对于 ASCII:

 # ^(?:[\W_]*[^\W_](?:\w|[[:punct:]_-](?=[\w[:punct:]-]))*){1,5}

 ^
 (?:
      [\W_]* [^\W_]
      (?:
           \w 
        |  [[:punct:]_-]
           (?= [\w[:punct:]-] )
      )*
 ){1,5}
于 2013-09-14T23:28:54.393 回答