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

问题描述 投票:0回答:2

我想匹配这些字符:[]()在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中没有提供匹配

javascript regex special-characters
2个回答
0
投票

你应该逃避正则表达式模式中的方括号:

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

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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.