我想为使用特殊字符[
和]
的字符串创建正则表达式。
值为"[action]"
。
我使用的表达式为"[\\[[\\x00-\\x7F]+\\]]"
。
我尝试在\\
和[
之前添加]
。
但它不起作用。
任何人都可以帮助我。
答案 0 :(得分:3)
您可能想要删除括号“[]”。在regexp中,它们意味着可以选择一个包含的字符
答案 1 :(得分:1)
开括号和右括号前有两个反斜杠:\\[
和\\]
双反斜杠计算字符串中的单个反斜杠。单个反斜杠会转义括号,以便它们不会被解释为围绕字符类。
没有用于声明字符类的括号的反斜杠:[a-z]
(您可以使用任何范围,而不仅仅是a到z)
Kleene star运算符匹配范围内的任意数量的字符。
public class Regexp {
public static void main(final String... args) {
System.out.println("[action]".matches("\\[[a-z]*\\]"));
}
}
在我的系统上:
$ javac Regexp.java && java Regexp
true
答案 2 :(得分:0)
在方括号前面加一个反斜杠。
两个反斜杠会自行转义,因此正则表达式引擎会看到\[
,其中[
是一个特殊字符。