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: 匹配单词Playerplayer
  • 漂亮而简单的解决方案!它可以通过使用词边界来进一步改进,即`w[sw-]*sb[pP]layerb`。

以上是JSRegex-将逗号内的所有内容与关键字匹配的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>