【发布时间】:2022-01-07 17:39:15
【问题描述】:
我正在使用 JavaScript 中的正则表达式计算不同单词在文本中出现的次数。我的问题是当我引用了单词时:'word' 应该简单地算作word(不带引号,否则它们会表现为两个不同的单词),而 it's 应该算作一个完整的单词。
(?<=\w)(')(?=\w)
这个正则表达式可以识别内部的撇号,但不能识别单词周围的撇号。问题是,我不能在 [\w]+ 等字符集中使用它。
(?<=\w)(')(?=\w)|[\w]+
将it's a 'miracle' of nature 计为 7 个单词,而不是 5 个(it、'、s 成为 3 个不同的单词)。另外,第三个单词应该简单地选择为miracle,而不是'miracle'。
为了让事情变得更复杂,我还需要捕捉变音符号,所以我使用[A-Za-zÀ-ÖØ-öø-ÿ] 而不是\w。
我怎样才能做到这一点?
【问题讨论】:
标签: javascript regex diacritics apostrophe single-quotes