-1

我试图弄清楚如何忽略连字符或破折号,如下所示

chug-jug

/chugjug/i应该与chug-jug相匹配。谢谢!

其他一些例子包括:

I-no匹配/ino/i

Jack-O匹配/jacko/i

4

3 回答 3

2

标记了问题,忽略连字符可以通过在将字符串与当前正则表达式匹配之前删除它们来轻松实现。

"chug-jug"
  .replace(/-/g, "") // remove all hyphens from the string
  .match(/chugjug/i) // match the string against your regex
于 2021-09-23T08:40:26.233 回答
1

这是该i-no案例的解决方案:

/i-?n-?o-?/i

解释:

  • -?表示零或一个破折号
  • 我们必须在每个字母之后添加它。没有这个,模式将是/ino/i
  • 尾随/i表示不区分大小写

演示在这里

替代解决方案:使用替换删除破折号。

于 2021-09-23T08:14:09.337 回答
0

好像你想要这样的东西:

/c[^chugjug]*?h[^chugjug]*?u[^chugjug]*?g[^chugjug]*?j[^chugjug]*?u[^chugjug]*?g[^chugjug]*?/g

在这里演示:https ://regex101.com/r/wU6izW/1

于 2021-09-23T05:31:51.340 回答