广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java编译正则表达式是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-04-19分类:Java技术浏览:702


导读:Java是现在非常主流的编程语言之一,很多人想转行学习IT,首选Java语言。那么,Java编译正则表达式是什么?下面就让我们一起来看看惠州北大青鸟老师是怎么回答的。

Java是现在非常主流的编程语言之一,很多人想转行学习IT,首选Java语言。那么,Java编译正则表达式是什么?下面就让我们一起来看看惠州北大青鸟老师是怎么回答的。

没有公共构造函数的模式是不可变的,可以共享。

Pattern 类包含一个静态compile()方法,它返回一个 Pattern 对象。

compile()方法是重载的。

static Pattern  compile(String regex) static Pattern compile(String regex, int flags)

以下代码将正则表达式编译为Pattern对象:

import java.util.regex.Pattern; public class Main {   public static void main(String[] args) {     // Prepare a regular expression     String regex = "[a-z]@.";     // Compile the regular expression into a Pattern object     Pattern p = Pattern.compile(regex);   } }

compile()方法的第二个版本设置修改模式匹配方式的标志。

flags参数是一个位掩码,并在Pattern类中定义为int常量。

Flag                                             描述

Pattern.CANON_EQ                启用规范等效。    

Pattern.CASE_INSENSITIVE     启用不区分大小写的匹配。    

Pattern.COMMENTS               启用不区分大小写的匹配。...    

Pattern.DOTALL                      允许在模式中的空格和注释。
                                                忽略以#开头的空格和嵌入的注释,直到行的结尾。    

Pattern.LITERAL                       启用模式的文字解析。 这个标志使元字符和转义序列作为正常字符。    

Pattern.MULTILINE                  启用多行模式。 默认情况下,^和$匹配输入序列的开始和结束。 此标志使模式仅逐行匹配或输入序列的末尾。    

Pattern.UNICODE_CASE          启用支持Unicode的大小写。 与CASE_INSENSITIVE标志一起,可以根据Unicode标准执行不区分大小写的匹配。    

Pattern.UNICODE_ CHARACTER_CLASS     启用预定义字符类和POSIX字符类的Unicode版本。 设置此标志时,预定义字符类和POSIX                                                                      字符类符合Unicode技术标准。    

Pattern.UNIX_LINES                 启用Unix行模式。 设置此标志时,只有\ n字符被识别为行终止符。    

实例1

以下代码编译设置CASE_INSENSTIVE和DOTALL标志的正则表达式。

import java.util.regex.Pattern; public class Main {   public static void main(String[] args) {     String regex   = "[a-z]@.";     Pattern p  = Pattern.compile(regex,  Pattern.CASE_INSENSITIVE|Pattern.DOTALL);   } }

例2

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main {   public static void main(String args[]) {     Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);     String candidateString = "Java. java JAVA jAVA";     Matcher matcher = p.matcher(candidateString);     // display the latter match     System.out.println(candidateString);     matcher.find(11);     System.out.println(matcher.group());     // display the earlier match     System.out.println(candidateString);     matcher.find(0);     System.out.println(matcher.group());   } }

上面的代码生成以下结果。

Java.java JAVA jAVA

JAVA

Java.java JAVA jAVA

Java

更多Java资讯关注网站动态,或者来惠州北大青鸟新方舟校区了解一下。

Java13.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表