在 Java 正则表达式中使用 ? 量词


总体而言,量词 ? 表示指定模式出现 0 次或 1 次。例如,X? 表示 X 出现 0 次或 1 次。

正则表达式 “t.+?m” 用来使用量词 ? 在字符串 “tom and tim are best friends” 中查找匹配。

演示此示例的程序如下所示

示例

 现场演示

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo {
   public static void main(String args[]) {
      Pattern p = Pattern.compile("t.+?m");
      Matcher m = p.matcher("tom and tim are best friends");
      System.out.println("The input string is: tom and tim are best friends");
      System.out.println("The Regex is: t.+?m");
      System.out.println();
      while (m.find()) {
         System.out.println("Match: " + m.group());
      }
   }
}

输出

The input string is: tom and tim are best friends
The Regex is: t.+?m
Match: tom
Match: tim

现在让我们了解一下上述程序。

在字符串序列 "tom and tim are best friends" 中搜索子序列 “t.+?m”。find() 方法用于查找子序列,即以 t 开头、后面以任意数量 t 结尾且以 m 结尾的子序列是否在输入序列中,然后打印所需结果。

更新于: 2019 年 7 月 30 日

154 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告