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

如果模式以结束,则Java正则表达式匹配字符串;或者什么都没有,java,regex,Java,Regex,[发布此问题,因为我找不到任何与我的场景匹配的问题,请将我指向帖子。如果已经讨论过,我将删除此帖子。] 正在尝试创建一个正则表达式以匹配长字符串中的字符串app=myApp,该字符串由、或分隔 如果模式在末尾,而不是通过、或终止,则我的正则表达式将失败 这是我使用过的正则表达式:[^.][app | app]=(.*)[,|]这适用于以下字符串: env=prod;app=myApp;app.secure=是 app=myApp;app.secure=是 但不适用于以下情况: env=prod;

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

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

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

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

  • env=prod;app=myApp;app.secure=是
  • app=myApp;app.secure=是
  • 但不适用于以下情况:

  • env=prod;app=myApp
  • app=myApp
  • 这是我的密码:

     Pattern pattern = Pattern.compile("[^.][app|APP]=(.*?)[,|;]");
     Matcher matcher = pattern.matcher(stringVar);
     if (matcher.find()) {
          return matcher.group(1);
     }
    
    我也尝试过:
    [^.][app | app]=(.*)[,| |$]
    但还是没有运气

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