javascript正则表达式 - 字符类中的括号和括号

时间:2016-05-20 21:31:58

标签: javascript regex special-characters

我想匹配这些字符:[]()在javascript中的正则表达式中的字符类中,我该怎么做?

grep中的解决方案是: (regex - brackets and parenthesis in character-class

<script>
var text = "echo some text (some text in parenthesis) [some other in brackets]";
var patt = /[][()]/g
console.log(text.match(patt));
</script>

但是这个正则表达式在JS中没有提供匹配

2 个答案:

答案 0 :(得分:0)

你应该转义正则表达式模式中的方括号:

var text = "echo some text (some text in paranthesis) [some other in brackets]",
    patt = /[\]\[()]/g;

console.log(text.match(patt));  // ["(", ")", "[", "]"]

答案 1 :(得分:0)

您的示例在正则表达式中使用方括号的特殊含义。如果你希望它们在字面上匹配,你需要使用'\'字符来逃避它们。您可以查看this示例,并将鼠标悬停在字符上,使用您的示例查看每个字符的含义,并this查看工作字符。