如何用java regex拆分字符串后面看?

mys*_*eim 5 java regex

我从文件中读取这个字符串:

abc | abc(abc\| abc)| def

我想得到数组包括3项:

  1. ABC
  2. abc(abc\| abc)
  3. 高清

如何正确编写正则表达式? line.split("(?!<=\\)\\|")不起作用.

alm*_*OSU 2

代码:

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个反斜杠)在正则表达式中成为单个。\\\\\