java 正则 pattern 线程安全_(一)Java Pattern类—-java正则

java 正则 pattern 线程安全_(一)Java Pattern类—-java正则记下一些知识。。。。。JavaPattern类Pattern在java.util.regex包中,是正则表达式的编译表示形式,此类的实例是不可变的,可供多个并发线程安全使用。定义publicfinalclassPatternextendsObjectimplementsSerializable实例的获取构造器是私有的privatePattern(Stringp,intf){…

记下一些知识。。。。。

Java Pattern类

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

定义

public final class Pattern extends Object implements Serializable

实例的获取

构造器是私有的

private Pattern(String p, intf) {//}

不可在外部调用

可通过静态方法来获取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,则不受限制,但丢弃最后的并且将丢弃尾部空字符串)

cd6b89f95e559acb6ae804559d959e62.png

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)简单工厂方法创建一个正则表达式。

今天的文章java 正则 pattern 线程安全_(一)Java Pattern类—-java正则分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

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

(0)
编程小号编程小号

相关推荐

发表回复

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