由于尖锐(#)字符,javascript regexp捕获中缺少字符

时间:2017-07-23 04:32:29

标签: javascript regex regex-group

在表达式/^(C|Db|D|Eb|E|F|F#|G|Ab|A|Bb|B)(.*)$/中,Cm7将包含两个捕获的组:Cm7Eb-^9将包含捕获组Eb-^9

为什么F#maj7F#maj7而不是F#maj7捕获?我试图逃避尖锐的角色无济于事。 String.prototype.matchString.prototype.split都会给出相同的结果,以及regexr itself

这是regexp引擎中的错误吗?

1 个答案:

答案 0 :(得分:1)

我可以通过切换FF#来使其工作,因为订单意味着它在F之前寻找F#

这似乎对我有用:

/^(C|Db|D|Eb|E|F#|F|G|Ab|A|Bb|B)(.*)$/

这是example