字符串中重复单词的正则表达式,其中一个单词在 Angular 中带有撇号

Regex for duplicate words in a string with one of them with a apostrophe in Angular

我想为一个要求创建一个正则表达式,一个字符串有重复的单词,但在那个重复的单词中有一个带有撇号。

例如:

EXCHANGE CORRESPONDENCE WITH BOLNO'S COUNSEL RE SCHEDULING INTERVIEW WITH DAVID BOLNO.

我正在使用此正则表达式通过这种方式进行验证并用该词拆分字符串。

var splitArray = this.narrative.split(new RegExp("\b(" + this.misspelledWords[m] + ")\b"))

但是这个正则表达式字符串将 BOLNO 和 BOLNO'S 视为单个 word.But 我想创建我的正则表达式,它应该将 BOLNO'S 和 BOLNO 视为不同的。

谁能帮我这个。

您可以使用

new RegExp("\b(" + this.misspelledWords[m] + ")(?!['\w])"

这也意味着 this.misspelledWords[m] 单词不能包含特殊字符。

如果右侧紧邻 ' 或单词 char,则 (?!['\w]) 否定先行匹配失败。