正则表达式在java中不起作用

正则表达式在java中不起作用,java,regex,Java,Regex,我有这个正则表达式[a-zA-Z]\d\d\\$\d\d-\d\d\d\d,我的值是A11$12-9190。但它并不匹配。有什么线索吗?在java模式中,每个反斜杠\都必须由一个额外的反斜杠\转义。请注意,美元符号前面的反斜杠已转义 由此产生的正则表达式将是: [a-zA-Z]\\d\\d\\$\\d\\d-\\d\\d\\d\\d 您是否正在转义所有的\?如果您有字符串,则必须执行“\\d”您的正则表达式无效。e、 g String test = "A11$12-9190"; Str

我有这个正则表达式
[a-zA-Z]\d\d\\$\d\d-\d\d\d\d
,我的值是
A11$12-9190
。但它并不匹配。有什么线索吗?

在java模式中,每个反斜杠
\
都必须由一个额外的反斜杠
\
转义。请注意,美元符号前面的反斜杠已转义

由此产生的正则表达式将是:

[a-zA-Z]\\d\\d\\$\\d\\d-\\d\\d\\d\\d

您是否正在转义所有的
\
?如果您有字符串,则必须执行
“\\d”

您的正则表达式无效。e、 g

  String test = "A11$12-9190";
  String regex = "[a-zA-Z]\\d\\d\\$\\d\\d-\\d\\d\\d\\d";

  System.out.println(test.matches(regex));

基本上,Java假定您的\d是字符串的转义字符,您需要将其转换为\\d-第一个\以转义第二个\以转义正则表达式的d

该正则表达式无效。您正在使用的实际Java字符串是什么?您在$之前转义,\n因此到达字符串末尾,但之后您正在搜索更多的数字。不可能。