Java regular expression


正则表达式分组


注意事项


捕获组与非捕获组

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


(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字符规范的等价性

时间: 2024-10-11 00:59:40

Java regular expression的相关文章

Java for LeetCode 010 Regular Expression Matching

Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype should be

LeetCode 10 Regular Expression Matching (C,C++,Java,Python)

Problem: Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype

Regular Expression Matching leetcode java

题目: Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype shoul

LeetCode 010 Regular Expression Matching - Java

Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype should be

Java [leetcode 10] Regular Expression Matching

问题描述: Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. http://i.cnblogs.com/EditPosts.aspx?opt=1 The matching should cover the entire input string

[LeetCode][10]Regular Expression Matching解析 -Java实现

Q: Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype should

LeetCode第[10]题(Java):Regular Expression Matching

题目:匹配正则表达式 题目难度:hard 题目内容:Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The fu

Regular Expression(正则表达式)之邮箱验证

正则表达式(regular expression, 常常缩写为RegExp) 是一种用特殊符号编写的模式,描述一个或多个文本字符串.使用正则表达式匹配文本的模式,这样脚本就可以轻松的识别和操作文本.其实,正则表达式是值得大家花时间学习的.正则表达式不仅在javaScript 中有用,在其他许多地方也可以使用正则表达式,例如其他编程语言(比如Perl,Java,C#,Python 和PHP ),Apache 配置文件以及BBEdit 和TextMate 等文本编辑器.甚至Adobe Dreamwe

**Regular Expression Match

Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype should be