专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java注释正则表达式模式

Java注释正则表达式模式

更新时间:2020-06-19 13:32:00 来源:动力节点 浏览2332次

包java.util.regex包含三个类,以支持正则表达式的完整版本。

模式

匹配

PatternSyntaxException

Pattern保存正则表达式的编译形式。

Matcher将要匹配的字符串与模式相关联,并执行实际匹配。

PatternSyntaxException表示格式错误的正则表达式中的错误。

编译正则表达式

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

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字符被识别为行终止符。

例子

以下代码编译设置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注释正则表达式模式”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>