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

如何通过使用正则表达式排除相同内容来仅匹配圆括号

如何通过使用正则表达式排除相同内容来仅匹配圆括号

开心每一天1111 2022-12-07 14:59:11
我有 String lower(Type) 或 LOWER(Type)我必须替换单词 lower() 或 LOWER() 以便输出应该是类型要解决此问题,我需要一个仅匹配 lower() 或 LOWER() 单词并排除 Lower() 或 LOWER() 中存在的任何内容的正则表达式我试过下面的正则表达式 -lower\(.*\)但它匹配完整的单词,包括圆括号内的内容
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

与其考虑如何使用or只匹配您想要的字符串,不如使用将与模式匹配的字符串替换为另一个字符串。Matcher.matchesMatcher.findString.replaceAll

您可以使用此正则表达式:

(?i)lower\(([^)]*)\)

用替换$1来做到这一点:

String result = inputString.replaceAll("(?i)lower\\(([^)]*)\\)", "$1");

正则表达式基本上lower(不区分大小写匹配 ( (?i)),然后将括号中的所有内容放入组 1 ( ([^)]*)),然后匹配右括号。替换$1意味着替换为组 1 中的任何内容。这意味着lower(Type)将替换为Type

正则表达式演示



查看完整回答
反对 回复 2022-12-07
  • 1 回答
  • 0 关注
  • 147 浏览

添加回答

举报

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