Java Can';t在split上匹配两个不同的正则表达式

Java Can';t在split上匹配两个不同的正则表达式,java,regex,string,split,Java,Regex,String,Split,所以我在调用Split方法时使用了一个字符串作为分隔符 String[] aExpr; String strDelimiter = "[-+/=^//%//*//(//);:?]"; aExpr = expr.split(strDelimiter); 这将使用strdelimitor相应地断开的字符串填充aExpr 问题是,我还希望Split()方法不仅要比较strDelimiter,还要比较这个字符串: String oprDelimiter = "[abcdefghijklmnopqrs

所以我在调用Split方法时使用了一个字符串作为分隔符

String[] aExpr;
String strDelimiter = "[-+/=^//%//*//(//);:?]"; 
aExpr = expr.split(strDelimiter);
这将使用
strdelimitor
相应地断开的字符串填充
aExpr

问题是,我还希望
Split()
方法不仅要比较
strDelimiter
,还要比较这个字符串:

String oprDelimiter = "[abcdefghijklmnopqrstuvwxyz0123456789]+"
基本上是任何字符后跟数字。我可以将所有这些字符添加到第一个字符串中,但最后的+不允许。+表示这些单词的任何组合都会打断字符串。有什么办法吗?

试试使用这个正则表达式:

(?<=[abcdefghijklmnopqrstuvwxyz0123456789])(?=[-+=^%*();:?])|(?<=[-+=^%*();:?])(?=[abcdefghijklmnopqrstuvwxyz0123456789])

(?提供示例输入和输出。请显示一个示例字符串以及应用拆分函数后预期的结果。我现在正在做的是使用一个分隔符并将其拆分为一个数组,然后再拆分为另一个。拆分这两个分隔符后,我将它们放在另一个数组中。假设我输入“1+3+5”我的aExpr数组将有1、3、5,我的aOpr数组将有+,+我想要的是它们已经存在于一个数组中,这样我以后就不必把它们放在一起了。清楚了吗?现在清楚了,你必须使用lookarounds作为分隔符:
String strDelimiter=“(?=[-+/=^%*();:?]))|(?
/
似乎不正确。如果你是指转义序列,那么你应该使用
\\
,但你不必在
[…]
内部转义
%*()
(字符类)。