JSRegex-将逗号内的所有内容与关键字匹配
我想从单行字符串中捕获所有出现的“anytext Player ”(播放器是关键字)。
testString = "Carpenter, Marketer, Yo-Yo Master, Kite Surfer, Baseball Player, Dentist, Football Player, Tax Man, Waterboy is not a player"
我试过以下(Baseball|Football)sPlayer,但这不是动态的。
期望输出 = "Baseball Player, Football Player, Waterboy is not a player"
先感谢您。
回答
您可以使用此正则表达式:
w[sw-]*s[pP]layerb
正则表达式演示
代码:
const testString = "Carpenter, Marketer, Yo-Yo Master, Kite Surfer, Baseball Player, Dentist, Football Player, Tax Man, Waterboy is not a player"
const re = /w[sw-]*s[pP]layerb/g;
console.log(testString.match(re))
正则表达式详情:
w: 匹配一个单词字符[sw-]*: 匹配 0 个或多个单词或空格或连字符s: 匹配 1 个空格[pP]layerb: 匹配单词Player或player
- 漂亮而简单的解决方案!它可以通过使用词边界来进一步改进,即`w[sw-]*sb[pP]layerb`。