我有一个正则表达式几乎可以正常工作。这是例子
https://regex101.com/r/wW9oL7/2
\bprimary\b|\balternate\b
匹配所有出现的“不区分大小写”或“不区分大小写”的情况。问题是,它不会拾取单词的开头字符或后面的字符不同的匹配项。
这是我的测试案例。我也希望最后3个也能匹配。
主要主要替代备用PrimeTime facebook Christopher Primative主要YY 1Primary1
YY小学
为了澄清起见,我希望它匹配
YYPrimaryze
,1Primary1
,PrimaryYY
最佳答案
您想将primary
和alternate
匹配为完整单词还是单词内?然后只需扩展您的正则表达式,以允许在匹配之前和之后使用单词\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