我有 String lower(Type) 或 LOWER(Type)我必須替換單詞 lower() 或 LOWER() 以便輸出應該是類型要解決此問題,我需要一個僅匹配 lower() 或 LOWER() 單詞并排除 Lower() 或 LOWER() 中存在的任何內容的正則表達式我試過下面的正則表達式 -lower\(.*\)但它匹配完整的單詞,包括圓括號內的內容
1 回答

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
與其考慮如何使用or只匹配您想要的字符串,不如使用將與模式匹配的字符串替換為另一個字符串。Matcher.matches
Matcher.find
String.replaceAll
您可以使用此正則表達式:
(?i)lower\(([^)]*)\)
用替換$1
來做到這一點:
String result = inputString.replaceAll("(?i)lower\\(([^)]*)\\)", "$1");
正則表達式基本上lower(
不區分大小寫匹配 ( (?i)
),然后將括號中的所有內容放入組 1 ( ([^)]*)
),然后匹配右括號。替換$1
意味著替換為組 1 中的任何內容。這意味著lower(Type)
將替換為Type
。
正則表達式演示
添加回答
舉報
0/150
提交
取消