具有右括号的unicode的正则表达式

时间:2014-09-06 17:37:15

标签: regex unicode

我有这个特殊的正则表达式代码u + 4e39,这是这个字符丹

我尝试只匹配具有" [丹]"

的字符串

当我在regex playground网站上尝试时,例如http://leaverou.github.io/regexplained/

我把它/ [\ u4e39] / g,它只选择左括号和字符,而不是结束括号。得到的选择是[丹

我也用/ [。] / g尝试过,同样的事情发生了。我不明白为什么。

请帮忙

1 个答案:

答案 0 :(得分:4)

您需要以正则表达式模式转义左括号。

var r = '[丹]'.match(/\[\u4e39]/);
if (r)
    console.log(r[0]); //=> "[丹]"

如果您只需要括号内的字符,请使用capturing group

var r = '[丹]'.match(/\[(\u4e39)]/);
if (r)
    console.log(r[1]); //=> "丹"