gpt4 book ai didi

java - 如何在正则表达式中执行 'NOT' ?

转载 作者:行者123 更新时间:2023-12-03 02:04:00 26 4
gpt4 key购买 nike

我正在尝试使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com