我有一个几乎按预期工作的正则表达式。这是示例
https://regex101.com/r/wW9oL7/2
\bprimary\b|\balternate\b
匹配所有出现的Alternate 或Primary 不区分大小写。问题是,它不会选择单词前导字符或后续字符不同的匹配项。
这是我的测试用例。我希望最后 3 个也能匹配。
Primary primary alternate Alternate PrimeTime facebook Christopher Primative PrimaryYY 1Primary1 YYPrimaryze
为了澄清,我希望它匹配 YYPrimaryze
、 1Primary1
、 PrimaryYY
最佳答案
您想将主要
和备用
匹配为完整单词并且也在单词内吗?然后只需扩展您的正则表达式以允许匹配之前和之后的单词字符 \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"]
关于JavaScript 正则表达式 匹配所有出现 "Alternate"或“Primary”的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797566/