^((?!PATTERN).)*$
如果给出上述字符串,则输出应为 PATTERN。
每次输入的特殊字符都是相同的,用户只能更改这些特殊字符内的单词。
当我进行拆分时,我在索引 6 附近得到一个未封闭的组异常。
String test = "^((?!PATT).)*$";
String patternOne = "^((?!";
String patternTwo = ").)*$";
if(test.contains(patternOne) && test.contains(patternTwo))
{
test = test.split(patternOne)[1];
test = test.split(patternTwo)[0];
}
最佳答案
String 上的 split()
方法采用 RegEx。您传递的是无效的正则表达式。您最好使用 substring()
函数,因为您已经知道前缀和后缀模式。
test = test.substring(patternOne.length(), test.length() - patternTwo.length());
关于java - 分割其中包含多个特殊字符的字符串 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40124938/