正则表达式(regular expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。
元字符 | 描述 |
---|---|
. | 点号匹配任意单个字符除了换行符 |
[ ] | 匹配方括号内的任意一个字符 |
[^ ] | 否定的字符种类。匹配除了方括号里的任意字符 |
* | 匹配>=0个重复的在*号之前的字符 |
+ | 匹配>=1个重复的+号前的字符 |
? | 标记?之前的字符为可选. |
{n} | 匹配出现n次的 |
{n,m} | 匹配x个大括号之前的字符或字符集 (n <= x <= m). |
(xyz) | 字符集,匹配与 xyz 完全相等的字符串 |
| | 或运算符,匹配符号前或后的字符 |
\ | 转义字符,用于匹配一些保留的字符 `[ ] ( ) { } . * + ? ^ $ \ |
^ | 正则表达式的开头,例如,在 abc 中使用表达式 ^a 会得到结果 a 。但如果使用 ^b 将匹配不到任何结果。因为在字符串 abc 中并不是以 b 开头。 |
$ | 正则表达式的结尾,同理^ |
/b | 单词边界符,判断字符两边是否是[a-zA-Z0-9]字符组成,如果不是则能匹配到 |
/B | 非单词边界,与/b相反 |
简写 | 描述 |
---|---|
\w | 匹配所有字母数字,等同于 [a-zA-Z0-9_] |
\W | 匹配所有非字母数字,即符号,等同于: [^\w] |
\d | 匹配数字: [0-9] |
\D | 匹配非数字: [^\d] |
\s | 匹配所有空格字符,等同于: [\t\n\f\r\p{Z}] |
\S | 匹配所有非空格字符: [^\s] |
\f | 匹配一个换页符 |
\n | 匹配一个换行符 |
\r | 匹配一个回车符 |
\t | 匹配一个制表符 |
\v | 匹配一个垂直制表符 |
\p | 匹配 CR/LF(等同于 \r\n ),用来匹配 DOS 行终止符 |
手机号正则表达式regex
String regex="/^1[35789][0-9]{9}$/"
邮箱正则表达式
String regex="/^\w{5,16}@qq\.com$/";