"(^([1-9]\d{3})(0[1-9]|1[0-2])$)";
其中(^([1-9]\d{3})表示第一位是1-9任意数字,后三位为任意数字。
其中\d实际上是d,因为Java中是转义字符,所以在字符串中书写必须得写成\才能正确识别,所以正则表达式中的d就表示为\d
^ |
1.匹配输入字符串的开始位置. 2.除非在方括号表达式中使用,此时它表示不接受该字符集合 例子 [^a-z] //除了小写字母以外的所有字符 |
(0[1-9]|1[0-2])$表示01月-09月或是11月12月
常见的正则表达式
[abc] a,b或c [ ]代表单个字符
[^abc] 任何字符,除了abc
[0-9]0到9的字符都包括
. 任意字符
d数字:[0-9]
w单词字符 [a-zA-z_0-9]
X? 一次或是一次也没有
X{n,} a{2,}包含多于两个a的字符串
跟在字符或字符簇后面的花括号({})用来确定前面的内容的重复出现的次数。
字符簇 | 描述 |
---|---|
^[a-zA-Z_]$ | 所有的字母和下划线 |
^[[:alpha:]]{3}$ | 所有的3个字母的单词 |
^a$ | 字母a |
^a{4}$ | aaaa |
^a{2,4}$ | aa,aaa或aaaa |
^a{1,3}$ | a,aa或aaa |
^a{2,}$ | 包含多于两个a的字符串 |
^a{2,} | 如:aardvark和aaab,但apple不行 |
a{2,} | 如:baad和aaa,但Nantucket不行 |
{2} | 两个制表符 |
.{2} | 所有的两个字符 |