java - 仅当子字符串不存在时才匹配字符串的正则表达式

标签 java regex

str = "sysparm_type=list_data&count=20&start=0&p=incident%3Bq%3Aactive%3Dtrue%5Epriority%3D1%5EEQ&table=incident"

我已经为上面的字符串编写了一个正则表达式,但我只想在“优先级”子字符串不存在时才匹配它。这是我的正则表达式:

.*sysparm_type=list_data&count=(\d+)&start=(\d+)&p=incident.*active.*true^((?!priority).)*$&table=incident

但这部分 ^((?!priority).)*$ 正则表达式不起作用。

最佳答案

插入符 ^ 和 $ 匹配整个字符串的开头和结尾。非常贪心。

如果您只检查配置文件字符串是否存在,不是会更简单、更容易阅读和维护吗?

    String pattern = "((?!priority).)*";  <== pasted from above, prob not valid regex

  // Create a Pattern object
  Pattern r = Pattern.compile(pattern);

  // Now create matcher object.
  Matcher m = r.matcher(line);
  if (m.find( )) {
    System.out.println("Found value" );

  } else {
     System.out.println("NO MATCH");
  }

关于java - 仅当子字符串不存在时才匹配字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33019918/

相关文章:

regex - 匹配文件中的连续行。

python - 用正则表达式有条件地替换数字

java - ArrayList 覆盖自身

java - 如果需要, super() 是唯一可以隐式插入构造函数的代码吗?

java - RandomAccess 接口(interface),为什么没有方法?

java - 为什么Java中ThreadLocal只有threadLocalHashcode

java - 在我的代码中实现电子邮件服务

regex - 捕获 n 个字母的单词不计算撇号正则表达式

regex - hive :将RegexSerDe与多个选项卡一起使用

javascript - 在 javascript 中使用正则表达式在单词两侧添加空格