拥有量词 Java 正则表达式

拥有量词 Java 正则表达式

贪婪量词是默认的量词。贪婪量词在输入字符串中尽可能匹配更多内容(最长匹配),如果没有匹配,则保留最后一个字符并再次进行匹配。

占有量词与贪婪量词类似,唯一的区别是它在最初尝试匹配尽可能多的字符,并且如果没有匹配,不像贪婪量词那样回溯。

如果在贪婪量词后面加上“+”,它就变成了占有量词。以下是占有量词的列表:

量词 描述
re*+ 匹配零个或多个出现。
re?+ 匹配零个或一个出现。
re++ 匹配一个或多个出现。
re{n}+ 匹配恰好n个出现。
re{n, m}+ 匹配至少n个且最多m个出现。

示例

演示

import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[0-9]++"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); while (matcher.find()) { System.out.print(matcher.group()); System.out.println(); } } }登录后复制