我有 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。
正则表达式演示
添加回答
举报
0/150
提交
取消
