本文主要介绍Java中Pattern.compile函数用法的详细说明。本文通过一个简单的案例来说明对这项技术的理解和使用。以下是详细内容,有需要的朋友可以参考一下。
除了pattern pattern . pile(string regex),
Pattern类的compile()方法还有另一个版本:
Pattern Pattern.complie(String regex,int flag),它接受一个标志参数来调整匹配行为。
标志来自以下模式类中的常数:
编译标记
影响
模式。佳能_情商
当且仅当两个字符的完全规范分解匹配时,才认为这两个字符匹配。例如,如果我们指定这个标签,表达式a\u030A将匹配字符串?默认情况下,匹配不考虑规格的等效性。
模式。不区分大小写(?我)
默认情况下,不区分大小写的匹配假定只能匹配US-ASCII字符集中的字符。这个标签允许模式匹配,无论大小写。通过指定UNICODE_CASE标记并组合此标记,可以开始基于UNICODE的不区分大小写的匹配,也可以是使用嵌入的标记表达式?i开启,下同。
模式。评论(?x)
在此模式下,表达式中的个空格(不是指\s,简称空格)将被忽略,以#开头直到行尾的注释也将被忽略。嵌入的标记表达式也可以打开Unix行模式。
模式。DOTALL(?s)
在dotall模式下,表达式“.”匹配所有字符,包括行结束符。默认情况下,“”表达式与行结束符不匹配。
模式。MULTLINE(?m)
在多行模式下,表达式$和$分别匹配一行或输入字符串的开头和结尾。默认情况下,这些表达式只匹配输入的完整字符串的开头和结尾。
模式。UNICODE_CASE(?u)
当指定此标志并打开CASE_INSENSITIVE时,不区分大小写的匹配将以与Unicode标准一致的方式进行。默认情况下,不区分大小写的匹配假定只能匹配US-ASCII字符集中的字符。
模式。UNIX_LINES(?d)
在这种模式下,在中只能识别行终止符。和$行为\n
在这些标签中。不区分大小写(?我),格局。MULTLINE(?m),==格局。评论(?X)==特别有用。
使用示例如下:
我们可以通过“或”( | )操作组合多个标记的功能
导入Java . util . regex . matcher;
导入Java . util . regex . pattern;
公共类重新标记{
公共静态void main(String[] args) {
图案p=pattern.compile('^java',pattern.不区分大小写|模式。多线);
/*
*使用模式。不区分大小写(不区分大小写的匹配)和模式。MULTILINE (multiline pattern)标签匹配所有以java开头的行,不区分大小写。
*/
Matcher m=p.matcher('java有regex\nJava有regex\n '
JAVA有很好的正则表达式\n '
正则表达式在JavA中’);
while (m.find()) {
system . out . println(m . group());//输出匹配的部分
}
}
}
输出结果:
Java语言(一种计算机语言,尤用于创建网站)
Java 语言(一种计算机语言,尤用于创建网站)
Java语言(一种计算机语言,尤用于创建网站)
使用模式。评论(?x)的例子:
导入Java . util . regex . matcher;
导入Java . util . regex . pattern;
公共类ReFlags_Comments {
公共静态void main(String[] args) {
/*
*不要使用模式。评论(不要开始评论)
*/
字符串s=' 123
pattern P1=pattern . compile((\ \ d)# test comments ');
匹配器m1=P1 . matcher(s);
system . out . println(m1 . matches());//假
/*
*在正则表达式中使用启动注释的标签。
*/
Pattern p2=Pattern.compile((?x)(\ \ d)#测试注释');
匹配器m2=p2 . matcher(s);
system . out . println(m2 . matches());//真
/*
*使用模式。开始注释的参数中的注释。
*/
模式P3=Pattern . compile((\ \ d)# test comments),模式。评论);
匹配器m3=P3 . matcher(s);
system . out . println(m3 . matches());//真
}
}
运行结果:
错误的
真实的
真实的
关于Java的Pattern.compile函数用法的详细说明,本文到此结束。有关Java的Pattern.compile函数的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。