java - 分割其中包含多个特殊字符的字符串 - Java

标签 java regex string

^((?!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/

相关文章:

regex - 是否有仅包含小写字母数字字符和连字符的字符串的名称?

java - mysql中有没有办法区分两个相同但大小写字母不同的字符串

mysql - 立即将页面中的相似字符串插入数据库

java - Spring MVC 表单http参数到模型对象映射成员变量

java - 将 LocalDate 复制到 java.time 日历中的另一个位置

c# - 查找制表符或 4 个空格(在 C# 代码中)

regex - 使用正则表达式分割 SparkSQL

Java:Spring-MVC:导出和导入 Microsoft Excel 的最简单方法?

java - stub 检查异常 : how to handle the exception

PHP 正则表达式 : matching a word or sentence inside a html <p> BUT NOT inside <div> <img> <a> tags