Java正则表达式-量词

1 什么是量词

我们可以指定正则表达式中的字符与字符序列匹配的次数。

为了使用正则表达式表达“一位或更多位”模式,我们可以使用量词。

下表中列出了量词及其含义。

量词 描述
* 零次或多次
+ 一次或多次
是否一次
{m} 正好m次
{m,} 至少m次
{m,n} 至少m次,但不超过n次

量词必须是字符。

2 量词的案例

2.1 案例1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
//www.yiidian.com 一点教程网
public class Main {
  public static void main(String[] args) {
    // A group of 3 digits followed by 7 digits.
    String regex = "\\b(\\d{3})\\d{7}\\b";

    // Compile the regular expression
    Pattern p = Pattern.compile(regex);

    String source = "12345678, 12345, and 9876543210";

    // Get the Matcher object
    Matcher m = p.matcher(source);

    // Start matching and display the found area codes
    while (m.find()) {
      String phone = m.group();
      String areaCode = m.group(1);
      System.out.println("Phone: " + phone + ", Area  Code:  " + areaCode);
    }
  }
}

以上代码执行结果为:

Phone:9876543210,Area Code:987

2.2 案例2

*匹配零个或多个d

import java.util.regex.Pattern;
//www.yiidian.com 一点教程网
public class Main {
  public static void main(String args[]) {

    String regex = "ad*";
    String input = "add";

    boolean isMatch = Pattern.matches(regex, input);
    System.out.println(isMatch);
  }
}

以上代码执行结果为:

true

 

一点教程,一个分享编程知识的公众号。跟着站长一起学习和进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「一点教程」,你已然超越了90%的程序员!

一点教程二维码