提问者:小点点

如果模式以结束,则Java正则表达式匹配字符串;或者什么都没有[重复]


[发布此问题,因为我找不到任何与我的场景匹配的问题,请将我指向帖子。如果已经讨论过,我将删除此帖子。]

正在尝试创建一个正则表达式以匹配长字符串中的字符串app=myApp,该字符串由分隔

如果模式在末尾,而不是通过终止,则我的正则表达式将失败

这是我使用的正则表达式:[^。][app | app]=(.*[,|;]这适用于以下字符串:

  1. env=prod; app=myApp;app.secure=yes
  2. app=myApp;app.secure=yes

但不适用于以下内容:

  1. env=prod; app=myApp
  2. app=myApp

这是我的密码:

 Pattern pattern = Pattern.compile("[^.][app|APP]=(.*?)[,|;]");
 Matcher matcher = pattern.matcher(stringVar);
 if (matcher.find()) {
      return matcher.group(1);
 }

我也试过:[^.][app|APP]=(。*?)[,|;|$]但还是没有运气。


共1个答案

匿名用户

试试正则表达式:(?:app | app)=(.*)(?=,| |$)

演示