正则表达式是一个比较好用的工具,但其比较难编写,特别是对于新手来说,更是觉得难写;
平时对一些常用的正则做个记录也是个不错的选择,需要用的时候直接拿来用;
下边的匹配在java代码中通常会需要\\来对\进行转义,比如\w在java代码中应该需要写成\\w
比较常用的语法及demo
元字符
.:匹配除换行符以外的任意字符\w:匹配字母数字下划线\s:匹配空白符\d:匹配数字\b:匹配单词的开始或结束^:匹配字符串的开始$:匹配字符串的结束\W:匹配非字母数字下划线\S:匹配非空白符\D:匹配非数字\B:匹配非单词开头或结束的位置[^x]匹配除了x外的字符[^abc]:匹配除了abc外的字符
限定符(数量限定)
*:匹配0次或更多次+:匹配一次或更多次?:匹配0次货一次{n}:匹配n次{n,}:匹配n次或更多次{n,m}:匹配n到m次
其他匹配
[abc]*:匹配字符为a或b或c- 或条件:
\(0\d{2}\)\d{8}|0\d{2}-?\d{8},可以匹配:(010)92832482或者010-92832482这两种格式的 ():括号来表示分组,如((010)|(020))+能匹配010010...或020020...或者010020...或者020010...组号:\b(\w+)\b\s+\1\1\b
常用正则
*