当前位置 博文首页 > 文章内容

    (一)Java Pattern类----java正则

    作者: 栏目:未分类 时间:2020-10-13 15:09:31

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    记下一些知识。。。。。

    Java Pattern类

    Pattern在java.util.regex包中,是正则表达式的编译表示形式,此类的实例是不可变的,可供多个并发线程安全使用。

    定义

    public final class Pattern extends Object implements Serializable

    实例的获取

    构造器是私有的

    private Pattern(String p, int f) {
    //
    
    }

    不可在外部调用

    可通过静态方法来获取Pattern实例;

    public static Pattern compile(String regex) {
        return new Pattern(regex, 0);
    }
    public static Pattern compile(String regex, int flags) {
        return new Pattern(regex, flags);
    }

     第二个方法暂时没用过。。。。。

    实例:

     String reg = "(http://|https://)?[^/]*\\.(com|cn|net|org|biz|info|cc|tv)";
            //执行匹配
            Pattern p = Pattern.compile(reg);// 把正则表达式编译成模式对象
    
             Matcher m = p.matcher(url);//通过模式对象创建匹配器对象

    方法

    String pattern() 

    返回该Patter对象所编译的正则表达式

    String[ ] Pattern.split(CharSequence input)

    此方法用于(使用正则表达式作为规则来)分隔字符串(去除匹配的字符串),并返回一个String[]。此方法将目标字符串按照Pattern里所包含的正则表达式为模进行分割,它的工作方式类似于使用给定的输入序列和限制参数零调用两个参数的方法

    Pattern p=Pattern.compile("\\d+"); 
    String[] str=p.split("我的QQ是:456456我的电话是:0532214我的邮箱是:aaa@aaa.com"); 
    
    运行结果
    
    str[0]="我的QQ是:" str[1]="我的电话是:" str[2]="我的邮箱是:aaa@aaa.com" 

     

    String[] split(CharSequence input, int limit)

    input:要拆分的字符序列;limit:结果阈值,控制应用模式的次数(若次数n大于0 ,则得到的数组长度最大为n;若小于0,则不受限制;若为0,则不受限制,但丢弃最后的并且将丢弃尾部空字符串)

     

     

    bollean Pattern.matcher(String regex,CharSequence input)

    此方法是一个静态方法,用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串.只有整个字符串都匹配了才返回true

    等价于 Pattern.compile(regex).matcher(input).matches() 

    Matcher Pattern.matcher(CharSequence input)

    返回一个Matcher对象,Pattern类只能做一些简单的匹配操作,要想得到更强更便捷的正则匹配操作,那就需要将Pattern与Matcher一起合作。

     

     

     

    总结

    Pattern类用于创建一个正则表达式,也可以说创建一个匹配模式,它的构造方法是私有的,不可以直接创建,但可以通过Pattern.complie(String regex)简单工厂方法创建一个正则表达式。