使用替换()替换一部分匹配图案

  • 本文关键字:替换 一部分 java regex
  • 更新时间 :
  • 英文 :


捕获URL中查询值的有效模式可以为

(?|&)[^=]+=([^&]+)

如何使用replaceAll替换URL中查询的所有 value

还是在这里使用其他技巧?

案例-1

Actual: https://stackoverflow.com/questions/54937940?a=5
Expected: https://stackoverflow.com/questions/54937940?a=XX

案例-2

Actual: https://stackoverflow.com/questions/54937940?a=5&b=7
Expected: https://stackoverflow.com/questions/54937940?a=xx&b=xx

案例-3

Actual: *266 open() "/usr/local/nginx/html/user-accounts/malphas/check" failed (2: No such file or directory), client: 10.254.3.0, server: ji, request: "GET /user-accounts/malphas/check?sid=ExecAuthoritySetting HTTP/2.0", host: "jilcom", referrer: "https://jicom/user-accounts/authority/authoritysettings/authoritysetting/detail?sid=ExecAuthoritySetting&roleId=1812""
tid"
Expected: *266 open() "/usr/local/nginx/html/user-accounts/malphas/check" failed (2: No such file or directory), client: 10.254.3.0, server: ji, request: "GET /user-accounts/malphas/check?sid=xx HTTP/2.0", host: "jilcom", referrer: "https://jicom/user-accounts/authority/authoritysettings/authoritysetting/detail?sid=xx&roleId=xx""
tid"

任何帮助将不胜感激:)

当您只想匹配参数的值时,您可以使用looks围绕围绕值匹配的值并用xx或任何您想要的任何东西替换它们。

(?<=[&=])[^=&"n ]*(?=[&" ]|$)

演示

查看此Java代码,

List<String> list = Arrays.asList("https://stackoverflow.com/questions/54937940?a=5",
            "https://stackoverflow.com/questions/54937940?a=5&b=7", "*266 open() "/usr/local/nginx/html/user-accounts/malphas/check" failed (2: No such file or directory), client: 10.254.3.0, server: ji, request: "GET /user-accounts/malphas/check?sid=ExecAuthoritySetting HTTP/2.0", host: "jilcom", referrer: "https://jicom/user-accounts/authority/authoritysettings/authoritysetting/detail?sid=ExecAuthoritySetting&roleId=1812""tid"");
    list.forEach(x -> {
        System.out.println(x + " --> " + x.replaceAll("(?<=[&=])[^=&"\n ]*(?=[&" ]|$)", "xx"));
    });

打印,

https://stackoverflow.com/questions/54937940?a=5 --> https://stackoverflow.com/questions/54937940?a=xx
https://stackoverflow.com/questions/54937940?a=5&b=7 --> https://stackoverflow.com/questions/54937940?a=xx&b=xx
*266 open() "/usr/local/nginx/html/user-accounts/malphas/check" failed (2: No such file or directory), client: 10.254.3.0, server: ji, request: "GET /user-accounts/malphas/check?sid=ExecAuthoritySetting HTTP/2.0", host: "jilcom", referrer: "https://jicom/user-accounts/authority/authoritysettings/authoritysetting/detail?sid=ExecAuthoritySetting&roleId=1812""tid" --> *266 open() "/usr/local/nginx/html/user-accounts/malphas/check" failed (2: No such file or directory), client: 10.254.3.0, server: ji, request: "GET /user-accounts/malphas/check?sid=xx HTTP/2.0", host: "jilcom", referrer: "https://jicom/user-accounts/authority/authoritysettings/authoritysetting/detail?sid=xx&roleId=xx""tid"

最新更新