在 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 结尾的子序列是否在输入序列中,然后打印所需结果。
广告