Java正则表达式 Pattern 类的用法

Java正则表达式 Pattern 类的用法一、Pattern类简介publicfinalclassPatternextendsObjectimplementsSerializable正则表达式的编译表示。必须首先将正则表达式(指定为字符串)编译为此类的实例。然后将所得的图案可以被用来创建一个Matcher对象可以匹配任意charactersequences针对正则表达式。执行匹配的所有状态都驻留在匹配器中,所以许多匹配者可以共享相同的模式(API摘录)。1.1特殊字符1.2限定符二、简单…

Java正则表达式 Pattern 类的用法

 

一、 Pattern类简介

public final class Pattern extends Object implements Serializable

 正则表达式的编译表示。

必须首先将正则表达式(指定为字符串)编译为此类的实例。 然后将所得的图案可以被用来创建一个Matcher对象可以匹配任意character sequences针对正则表达式。 执行匹配的所有状态都驻留在匹配器中,所以许多匹配者可以共享相同的模式(API摘录)。

1.1特殊字符

Java正则表达式 Pattern 类的用法

1.2限定符

Java正则表达式 Pattern 类的用法

二、简单示例

2.1匹配数字

/**
 * \d 的含义是 [0-9]
 * \D 的含义是 [^0-9]
 * {n} 匹配确定 n 次
 */
public static void matchNumber() {
        Pattern p = Pattern.compile("summary_day\\.\\d+[0-9]\\.\\d{17}");
        Matcher m = p.matcher("ipva.summary_day.20210621.20210622000205860.B20C41AB-0A17-46DB-9177-817533B8E551.1624291336921.txt");
        System.out.println(m.pattern()); //myArray\[\d\]
        while (m.find()){
            System.out.println(m.group());
        }
}

Java正则表达式 Pattern 类的用法

2.2匹配字母

/**
 * \w 任何一个字母数字字符(大小写均可)或下划线,等价于 [A-Za-z0-9_]
 * \W 表示[^A-Za-z0-9_]
 * + 匹配前面的子表达式或一次或多次
 */
public static void matchAlphanum() {
        Pattern pattern = Pattern.compile("^ipva\\.\\w+");
        Matcher matcher = pattern.matcher("ipva.summary_day.20210621.20210622000205860.B20C41AB-0A17-46DB-9177-817533B8E551.1624291336921.txt");
        while (matcher.find()) {
            System.out.println(matcher.group(0));
        }
}

Java正则表达式 Pattern 类的用法

2.3特殊字符一

​/**
 * "*" 表示含有零个或者多个
 * "+" 匹配前面的子表达式或一次或多次
 */
public static void matchRepeat() {
    Pattern pattern = Pattern.compile("\\w+[\\w\\.]*@[\\d]+\\.\\w+");
    Matcher matcher = pattern.matcher("Hello .kangll@163.com is my email address.");
    while (matcher.find()) {
        System.out.println(matcher.group(0));
    }
}

Java正则表达式 Pattern 类的用法

2.4特殊字符二

/**
 * "*" 表示含有零个或者多个
 * "+" 表示匹配前面的子表达式或一次或多次
 * "?" 表示匹配零个或者一个字符
 */
public static void matchRepeat02() {
    Pattern pattern = Pattern.compile("http[s]?://[\\w\\.]+");
    Matcher matcher = pattern.matcher("The URL is http://www.kangll.com/");
    while (matcher.find()) {
        System.out.println(matcher.group(0));
    }
}

Java正则表达式 Pattern 类的用法

谢谢点赞和关注!

今天的文章Java正则表达式 Pattern 类的用法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/33238.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注