贪婪量词是默认的量词。如果没有匹配发生,贪婪量词会尽可能地从输入字符串中匹配最多的内容(最长的匹配),并且在匹配失败时会保留最后一个字符并重新匹配。以下是贪婪量词的列表:
量词 | 描述 |
---|---|
re* | 匹配零个或多个出现。 |
re? | 匹配零个或一个出现。 |
re+ | 匹配一个或多个出现。 |
re{n} | 精确匹配 n 次出现。 |
re{n, } | 至少匹配 n 次出现。 |
re{n, m} | 匹配至少 n 次且最多 m 次出现。 |
在下面的 Java 示例中,我们尝试匹配一个或多个数字,我们的输入字符串是 45545,虽然值 4、45、455 等都是符合条件的,但由于我们使用了贪婪量词,它会匹配最长的可能值。
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); System.out.println(“”Matched text: ); while (matcher.find()) { System.out.println(matcher.group()); } } }
Enter input text: Matched text: 45545
以上是贪婪量词在Java正则表达式中的应用的详细内容。更多信息请关注PHP中文网其他相关文章!