正则表达式匹配除收缩中的撇号之外的所有非字母数字

时间:2013-10-30 03:18:19

标签: regex tokenize alphanumeric non-alphanumeric

我正在尝试对一串英文文本进行标记,这样我就可以得到一系列没有任何标点符号的单词,但同时我想留下收缩(比如不要并且不会)和占有欲的名词(如 Steve的 Drew的)完好无损。我试图用正则表达式来解决这个问题,但我还是他们的新手。

基本上,我想要一个正则表达式,它将匹配所有非字母数字字符序列,除了由字母数字字符包围的撇号,例如前面提到的例子。是否可以使用正则表达式执行此操作?

2 个答案:

答案 0 :(得分:0)

我不明白你的正则表达式想要匹配什么,但我认为这将符合你的要求:

(?i)(?<=^|\s)([a-z]+('[a-z]*)?|'[a-z]+)(?=\s|$)

这匹配“单词”,可以选择以撇号后跟0-n字母结尾,或者后跟字母的撇号,后面跟着以下边缘情况:

  • 杰克的
  • Ross的
  • 'TIS

答案 1 :(得分:0)

你的问题对我来说不是很清楚。但如果我正确解释,跟着正则表达式应该完成这项工作

\b[\w']+\b

regex101 demo