java compile方法_Java Pattern.compile函数的语法以及参数

Pattern构造器是私有的,不能通过new创建Pattern对象,可以通过Pattern调用静态方法compile返回Pattern实例。

// Pattern.compile函数语法

Pattern Pattern.compile(String regex, int flag)

Pattern.compile函数中两个参数

1、regex 表示定义的规则

2、flag 表示设置的参数类型,主要包含以下几种情况:

(1)Pattern.CASE_INSENSITIVE(?i) 默认情况下,大小写不明感的匹配只适用于US-ASCII字符集。让表达式忽略大小写进行匹配。

(2)Pattern.COMMENTS(?x) 此种模式下,匹配时会忽略表达式中空格字符(表达式里的空格,tab,回车)。注释从#开始,一直到这行结束。

(3)Pattern.UNIX_LINES(?d) 此种模式下,只有’\n’才被认作一行的中止,并且与’.’,’^’,以及’$’进行匹配。

(4)Pattern.MULTILINE(?m) 此种模式下,上箭头和单引号分别匹配一行的开始和结束。此外,’^‘仍然匹配字符串的开始,’’也匹配字符串的结束。默认情况下,这两个表达式仅仅匹配字符串的开始和结束。

(5)Pattern.DOTALL:此种模式下,表达式’.‘可以匹配任意字符,包括表示一行的结束符。默认情况下,表达式’.’不匹配行的结束符。

实例

//需要截取的字符串

String splitStr = “[user:name] = select name from user”;

// 定义规则

String pattern = "(\\[+)(\\w+)\\:(\\w+)(\\]+)";

//Pattern.compile函数

Matcher matcher = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE).matcher(splitStr);

while (matcher.find()) { //表示往下遍历

//截取出来的字符串 [user:name]

String allcon = matcher.group(0);

//截取的开始位置 [

String tableJoin1 = matcher.group(1);

//截取出来的表名 user

String tableName = matcher.group(2);

//截取出来的字段名 name

String filed = matcher.group(3);

//截取的结束位置 ]

String tableJoin4 = matcher.group(4);

}

王晓博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权

转载请注明原文链接:Java Pattern.compile函数的语法以及参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值