我需要在以下条件下拆分一个字符串。
- 使用
/
拆分,如果具有/
则不应拆分 - 使用
=
进行拆分,如果具有=
则不应进行拆分
基本上是在寻找TWO正则表达式,它们在上述条件下分裂,并在具有转义符的情况下避免。
您可以尝试在此处使用查找:
String input = "Hello/World";
String[] parts = input.split("(?<!\\)[/=]");
上面的单个正则表达式涵盖了这两种拆分情况。它使用了一个负查找,它断言紧接在/
或=
之前的字符是而不是反斜杠。
您可以使用负查找(?<!\\)
来断言左边的不是反斜杠。
然后使用字符类匹配1+倍的正斜杠或等号[/=]+
String regex = "(?<!\\)[/=]+";
Java演示| Regex演示