Java中的正則表達式有兩種匹配模式:貪婪匹配和非貪婪匹配。
貪婪匹配是指在匹配過程中,盡可能多地匹配符合正則表達式的字符,直到無法匹配為止。例如:
String str = "abc123xyz"; String regex = ".*"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.group()); }
輸出結果為abc123xyz
,即使用了貪婪匹配,將整個字符串都匹配了。
而非貪婪匹配則是在匹配過程中,盡可能少地匹配符合正則表達式的字符,直到無法匹配為止。例如:
String str = "abc123xyz"; String regex = ".*?"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.group()); }
輸出結果為a, b, c, 1, 2, 3, x, y, z
,即使用了非貪婪匹配,將字符串拆分成了單個字符進行匹配。
在使用正則表達式時,應該根據需要選擇合適的匹配模式,從而得到正確的匹配結果。
上一篇css圖片超鏈接邊框
下一篇css圖片背景加顏色