正则表达式转义 ( ' “ ? - ! | ) 并返回文本中的前五个单词


Regex escape ( ' " ? - ! . | ) and return the first five words from a text

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

文本 = 数据库? 没有。 收集! 的信息 — 最好是一些/甚至(相关信息)最好?组织。v1.0 最新版本,技术=技术

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

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

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

我只想从上面的文本或任何其他文本中包含上述字符返回前 5 个匹配项

我会试一试——

对于 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}