转义字符串以在java正则表达式查询中使用

时间:2017-01-10 22:21:05

标签: java regex

我有一个存储在包含方括号的变量中的字符串。我想使用这个字符串作为正则表达式语句的一部分,并且发现我需要双重转义方括号以获得我需要的结果。

字符串的格式为:

String str = "myVar[100]";

并且正则表达式用于解析文本文件并查找此字符串后的引号之间的值,即变量的值:

if(str.contains("[")) {
  str.replace("[", "\\\\[");
  str.replace("]", "\\\\]");
}

正则表达式:

Pattern q = Pattern.compile(str + " *?= *?\"(.*)\";");   
Matcher n = q.matcher(line);
while (n.find()) {
  System.out.println(n.group(0));
}

但它没有找到任何匹配。我是否正确地逃避了反斜杠?

0 个答案:

没有答案