如何在正则表达式中匹配"["和"]"?

How to match "[" and "]" in regexp?

本文关键字:正则表达式      更新时间:2023-10-16

如何匹配正则表达式中的"["answers"]" ?这个不行:[\[\]]我认为\允许使用特殊字符。我想在一个类中匹配它们

这取决于你的引擎,取决于你是想匹配一个特定的括号(左括号和右括号),还是匹配一类括号。

  • [匹配左括号
  • ]匹配右括号
  • [][]匹配一个字符,该字符是左括号或右括号。. NET, Perl, PCRE, Python)
  • [][]同上(Java和以上4个引擎)
  • [[]]同上(JavaScript和以上4个引擎)
  • [][]同上(Ruby,所有引擎)

避免反斜杠汤

少数语言(如Java)要求您转义正则字符串中的反斜杠,从而导致\[和其他不美观的变体。幸运的是,大多数语言都提供了避免转义反斜杠的方法。

  • "["可以在JavaScript, PHP, Perl, Ruby, VB中原样使用。净,VBScript
  • c# 中的@"["(逐字字符串)
  • r"["(原始字符串)在Python
  • R"(])"R"foo(])foo"在c++ 11(原始字符串字面值)。原始字符串位于圆括号之间,圆括号可以被可选的分隔符(第二版本中的foo)包围。
参考

有趣的字符类

[]应该可以工作。在某些语言中,您可能需要双重转义。(即\[]).

注意:你不需要转义]:)

演示:http://regex101.com/r/vP4mQ9/1