如何在java中转义[sequence]?
在用java编写代码时,我需要用“],[”分隔字符串。下面是我的代码如何在java中转义[sequence]?,java,regex,jakarta-ee,Java,Regex,Jakarta Ee,在用java编写代码时,我需要用“],[”分隔字符串。下面是我的代码 try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) { int i=0; String line; line = reader.readLine(); String[] split = l
try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
int i=0;
String line;
line = reader.readLine();
String[] split = line.split("],[");
StringBuilder sb = new StringBuilder();
sb.append(split[0]);
String joined = sb.toString();
System.out.println(joined);
}
请在此提供帮助。请转义开头的方括号,因为
[
是正则表达式中的一个特殊元字符,表示字符类的开始
String[] split = line.split("],\\[");
]
将在没有字符类开头的情况下匹配文本]
符号[
在]
之前存在转义开头方括号,因为[
是regex中表示字符类开头的特殊元字符
String[] split = line.split("],\\[");
]
将匹配文字]
符号,如果在]
之前没有字符类符号的开头[
存在,则必须转义[
。例如:
line.split("\\],\\[");
您的代码是:
try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
int i=0;
String line;
line = reader.readLine();
String[] split = line.split("\\],\\[");
StringBuilder sb = new StringBuilder();
sb.append(split[0]);
String joined = sb.toString();
System.out.println(joined);
}
您必须退出[
。例如:
line.split("\\],\\[");
您的代码是:
try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
int i=0;
String line;
line = reader.readLine();
String[] split = line.split("\\],\\[");
StringBuilder sb = new StringBuilder();
sb.append(split[0]);
String joined = sb.toString();
System.out.println(joined);
}
line.split(\\],\\[”;
line.split(\\],\\\[”;
]
也是一个特殊的正则表达式字符。如果没有转义它,但即使它在今天的Java中工作,正确的做法还是转义它,我会感到惊讶。]当没有[
您定义的正则表达式前面的符号。您能删除下一票吗?这并不意味着这是一件明智的事情。有许多不同的正则表达式系统,正确的做法是将两者都转义。我看到正则表达式解析器中关于不匹配括号的错误,因此您不能总是依赖于“失去其特殊意义”的字符@BrianWhite这一切都取决于我们在正则表达式中放置]
符号的位置。我们不是在讨论任何其他正则表达式风格,因为这个问题明显标记为java。在所有其他正则表达式风格中,它也完全基于位置。]
也是一个特殊的正则表达式字符。如果你没有得到一个关于不匹配括号的错误,如果它没有被转义,我会感到惊讶,但即使它在今天的Java中工作,正确的做法还是转义它。]
在没有[
您定义的正则表达式前面的符号。您能删除下一票吗?这并不意味着这是一件明智的事情。有许多不同的正则表达式系统,正确的做法是将两者都转义。我看到正则表达式解析器中关于不匹配括号的错误,因此您不能总是依赖于“失去其特殊意义”的字符@BrianWhite这完全取决于我们在正则表达式中放置]
符号的位置。我们不是在讨论任何其他正则表达式风格,因为问题明显标记为java。在所有其他正则表达式风格中,它也完全基于位置。