为了账号安全,请及时绑定邮箱和手机立即绑定

ReplaceAll 方法无法正常工作 - 将正则表达式替换为正则表达式模式

ReplaceAll 方法无法正常工作 - 将正则表达式替换为正则表达式模式

慕的地10843 2023-10-19 21:21:14
我看到很多关于问题的问题,replaceAll但它对我不起作用。我想用模式本身替换特定模式的出现(这样稍后我将能够运行 sql 并根据正则表达式值找到类似的记录),方法是:https://internal-gateway.com/users/4e8a4741-dd89-4cdd-a7c3-3b2f7044e142它应该返回https://internal-gateway.com/users/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89AB][0-9a-f]{3}-[0-9a-f]{12}我的代码:private final static String UUID_PATTERN = "[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89AB][0-9a-f]{3}-[0-9a-f]{12}";private final static String SIM_NUMBER_PATTERN = "894803[0-9]{13}";private final static String MSISDN_SHORT_PATTERN = "[0-9]{9}";private final static String MSISDN_LONG_PATTERN = "[0-9]{11}";private Optional<WebApp> checkRegexes(String url, Long id) {    String urlToLookFor = url.replaceAll(UUID_PATTERN,UUID_PATTERN);    urlToLookFor=urlToLookFor.replaceAll(SIM_NUMBER_PATTERN,SIM_NUMBER_PATTERN);    urlToLookFor=urlToLookFor.replaceAll(MSISDN_LONG_PATTERN,MSISDN_LONG_PATTERN);    urlToLookFor=urlToLookFor.replaceAll(MSISDN_SHORT_PATTERN,MSISDN_SHORT_PATTERN);    return waRepository.getWebAppByRegex(urlToLookFor,id);}但是在给定的示例中,值replaceall 没有替换任何内容,任何人都可以提示我我的错误是什么?
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

String.replaceAll()区分大小写,并且您的模式与此处的字符串不匹配:

[89AB][0-9a-f]{3}:“AB”是大写

a7c3:“a”是小写

只需替换[89AB][89ab],或使用不区分大小写的模式匹配方法。


查看完整回答
反对 回复 2023-10-19
  • 1 回答
  • 0 关注
  • 56 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信