我从文件中读取这个字符串:
abc | abc(abc\| abc)| def
我想得到数组包括3项:
如何正确编写正则表达式?
line.split("(?!<=\\)\\|")不起作用.
代码:
public class __QuickTester {
public static void main (String [] args) {
String test = "abc|abc (abc\\|abc)|def|banana\\|apple|orange";
// \\\\ becomes \\ <-- String
// \\ becomes \ <-- In Regex
String[] result = test.split("(?<!\\\\)\\|");
for(String part : result) {
System.out.println(part);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
abc
abc (abc\|abc)
def
banana\|apple
orange
Run Code Online (Sandbox Code Playgroud)
注意:您需要(4个反斜杠)才能将(2个反斜杠)作为字符串\\\\获取,然后(2个反斜杠)在正则表达式中成为单个。\\\\\
| 归档时间: |
|
| 查看次数: |
579 次 |
| 最近记录: |