我有一个正则表达式几乎可以正常工作。这是例子

https://regex101.com/r/wW9oL7/2

\bprimary\b|\balternate\b


匹配所有出现的“不区分大小写”或“不区分大小写”的情况。问题是,它不会拾取单词的开头字符或后面的字符不同的匹配项。

这是我的测试案例。我也希望最后3个也能匹配。


  主要主要替代备用PrimeTime facebook Christopher Primative主要YY 1Primary1
    YY小学


为了澄清起见,我希望它匹配YYPrimaryze1Primary1PrimaryYY

最佳答案

您想将primaryalternate匹配为完整单词还是单词内?然后只需扩展您的正则表达式,以允许在匹配之前和之后使用单词\w

\b\w*(primary|alternate)\w*\b


演示:


var string = "Primary primary alternate Alternate PrimeTime facebook Christopher Primative PrimaryYY 1Primary1 YYPrimaryze";

var matches = string.match(/\b\w*(primary|alternate)\w*\b/gi);

console.log(matches); // ["Primary", "primary", "alternate", "Alternate", "PrimaryYY", "1Primary1", "YYPrimaryze"]





另见https://regex101.com/r/wW9oL7/3

07-24 19:47