作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Java 中的 Split 函数。我试图分割的字符是 ;
。
所以我的代码是这样的:
string.split(";");
但是,在字符串内部我有许多转义的 \;
。我想要一个正则表达式,它不会在 \;
处拆分,而只会在 ;
本身的位置拆分。
字符串示例:
sometexthere\;shhshshshhs;shhshshshshs\;dddddd;
预期结果:
[0] sometexthere\;shhshshshhs;
[1] shhshshshshs\;dddddd;
任何帮助将不胜感激。谢谢!
最佳答案
试试这个:
str.split("(?<!\\\\);");
编辑
如果您确实希望在结果数组中包含拆分器(;
):
str.split("(?<=[^\\\\];)");
请注意,单次后视就足以解决此问题。
这一次,我做了一个测试:
final String str = "sometexthere\\;shhshshshhs;shhshshshshs\\;dddddd;";
System.out.println(Arrays.toString(str.split("(?<=[^\\\\];)")));
它输出:
[sometexthere\;shhshshshhs;, shhshshshshs\;dddddd;]
关于java - 如何在正则表达式中执行 'NOT' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511667/
我是一名优秀的程序员,十分优秀!