正則表示式中?:的作用
阿新 • • 發佈:2021-04-27
正則表示式中?:的作用
在正則表示式中使用括號()
會在匹配時建立相應的group, 例如日期匹配regex:
/^(\d{4})[-/](\d{2})[-/](\d{2})$/
括號包裹的三個部分會生成3個group,如下圖
可以用$1, $2和 $3獲取各group,如:
String str = "2021/04/24";
String regex = "^(\d{4})[-/](\d{2})[-/](\d{2})$";
str.replaceAll(regex,"$1年$2月$3日");
替換後str結果為2021年04月24日
此時若用(?:)
String str = "2021/04/24";
String regex = "^(?:\d{4})[-/](\d{2})[-/](\d{2})$";
str.replaceAll(regex,"$1月$2日");
str結果為04月24日