Java 中的模式 pattern() 方法示例
javaobject oriented programmingprogramming
Java 的 java.util.regex 包提供了各种类来查找字符序列中的特定模式。此包的模式类是正则表达式的编译表示。
Pattern 类的 pattern() 方法获取并以字符串格式返回正则表达式,当前模式就是使用该字符串格式编译的。
示例 1
import java.util.regex.Pattern; public class PatternExample { public static void main(String[] args) { String date = "12/09/2019"; String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$"; //创建一个 Pattern 对象 Pattern pattern = Pattern.compile(regex); if(pattern.matcher(date).matches()) { System.out.println("Date is valid"); } else { System.out.println("日期无效"); } //检索当前模式的正则表达式 String regularExpression = pattern.pattern(); System.out.println("正则表达式:"+regularExpression); } }
输出
日期有效 正则表达式:^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$
示例 2
public class PatternExample { public static void main(String[] args) { String input = "Hi my id is 056E1563"; //使用组的正则表达式 String regex = "(.*)?(\d+)"; //创建一个 Pattern 对象 Pattern pattern = Pattern.compile(regex); if(pattern.matcher(input).matches()) { System.out.println("Match found"); } else { System.out.println("Match not found"); } //检索当前模式的正则表达式 String regularExpression = pattern.pattern(); System.out.println("正则表达式:"+regularExpression); } }
输出
找到匹配项 正则表达式:(.*)?(\d+)