我喜欢使用 split(regex) 函数将字符串拆分为数组。
我想在分号 ;
上拆分它 - 但字符串 (\;
) 中也有“转义”分号,不应将其用于拆分。
.split(regex)
函数是否有正则表达式可以执行此操作?
最佳答案
使用 negative look-behind
拆分 semi-colon
而不是 \\
:-
str.split("(?<!\\\\);");
您需要使用 4 个反斜杠
- 对 Java 转义一次反斜杠,然后对正则表达式再次转义 2 个反斜杠。
关于Java split() 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787157/