String content = 一个字符串;
String pattern = 正则表达式;
boolean isMatch = Pattern.matches(pattern, content);
Pattern pattern = Pattern.compile(正则表达式);
Matcher matcher = pattern.matcher("文字内容");
while (matcher.find()) {
//查找到的内容 group() 查找正则中的组, 每一对括号为一组
//例如 "policyNo>(P\\w+)<", group(1)查到的就是 P\\w+ 匹配到的内容
//例如 "policyNo>(P\\w+)<>(P\\[0-9]+)", group(2)查到的就是 P\\[0-9]+ 匹配到的内容
String group = matcher.group(1);
}
格式: 位置 匹配字符串 重复次数(不写为一次)
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或汉字and下划线, 等效[A-Za-z0-9_]
\s 匹配任意的空白符
\d 匹配数字
=============反义==============
\W 匹配任意不是字母, 数字, 下划线, 汉字的字符. 等效[^A-Za-z0-9_]
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\b 单词的开头或结尾, 也就是单词的分界处
^ 匹配字符串的开始
$ 匹配字符串的结束
\G 上一个匹配的结尾(本次匹配开始)
\A 字符串开头(类似^, 但不受处理多行选项的影响)
\Z 字符串结尾或行尾(不受处理多行选项的影响)
\z 字符串结尾(类似$, 但不受处理多行选项的影响)
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
[] 表示要匹配的范围
[0-9] 匹配0~9的数字,同\d
[a-z] 匹配所有小写字母
[a-zA-Z] 匹配所有字母
[a-z0-9A-Z_] 等同于\w
[123] 匹配1或者2或者3
(aa|bb|cc) 匹配aa或者bb或者cc
\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。
例如:"n"匹配字符"n"。"\n"匹配换行符。序列"\\\\"匹配"\","\\("匹配"("。
需要转义的字符:$, (, ), *, +, ., [, ], ?, \, ^, {, }, |
email:
^\w+(\.\w+)*@\w+(\.\w+)+$
2位小数数字:
\d+\.\d{2}$
url:
^(https?://)?(\w+\.)+[a-zA-Z]+$