码迷,mamicode.com
首页 > 编程语言 > 详细

Java regular expression

时间:2015-06-23 19:46:27      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

正则表达式分组

注意事项

捕获组与非捕获组

(以左括号为顺序为分组编号)

(exp)

匹配exp,并捕获文本到自动命名的组里

组名从1开始,依次递增(0为整个正则表达式)

(?<name>exp)

匹配exp,并捕获文本到名称为name的组里,也可以写成(?‘name‘exp)

反向引用方法为:\name、\1

(?:exp)

匹配exp,不捕获匹配的文本,也不给此分组分配组号

 

贪婪子表达式

(?>exp)

非捕获组,但是对exp执行贪婪匹配

 

零宽度正预测先行断言

(?=exp)

断言自身出现的位置的后面能匹配表达式exp

组中必须是最大长度确定的字符串

即不能出现\s*、\d+等

零宽度正回顾后发断言

(?<=exp)

断言自身出现的位置的前面能匹配表达式exp

零宽度负预测先行断言

(?!exp)

断言此位置的后面不能匹配表达式exp

零宽度负回顾后发断言

(?<!exp)

断言此位置的前面不能匹配表达式exp

注释

(?#comment)

 

 

 

正则表达式模式

备注

UNIX_LINES

(?d)

在多行模式中匹配^和$时,只有 \n 被设识别成行终止符

行终止符1

CASE_INSENSITIVE

(?i)

匹配字符时忽略大小写

默认情况下,只考虑US ASCII字符

COMMENTS

(?x)

注释模式

1、正则表达式模式中的非转义的空白将被忽略

2、数字符号 (#) 被解释为注释的开头,而不是原义字符。正则表达式模式中的所有文本,从 # 字符到行的结尾都解释为注释。

按原义解释字符内的空格,而不考虑使用COMMENTS选项。例如,正则表达式模式 [ .,;:] 匹配任意单个空格字符、句点、逗号、分号或冒号。

MULTILINE

(?m)

^和$仅匹配行的开头和结尾,而不是整个输入的开头和结尾

 

LITERAL

字符模式(输入中的元字符和转义字符将失效)

 

DOTALL (Single Line)

(?s)

使用此标志时, ‘.’符号匹配所有字符,包括行终止符

 

UNICODE_CASE

(?u)

和CASE_INSENSITIVE组合时,用Unicode字母大小写来匹配

 

CANON_EQ

考虑Unicode字符规范的等价性

 

Java regular expression

标签:

原文地址:http://www.cnblogs.com/hrzhang09/p/3964150.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!