^(A|B)\/(1\d)((0[1-9])|(1[0-2]))\/((0[1-9])|([1|2][0-9])|(3[0-1]))(\/(([\w-])+(\/)?)*)?$
这段正则是什么意思。
------解决思路----------------------
^(A
------解决思路----------------------
B)\/(1\d)((0[1-9])
------解决思路----------------------
(1[0-2]))\/((0[1-9])
------解决思路----------------------
([1
------解决思路----------------------
2][0-9])
------解决思路----------------------
(3[0-1]))(\/(([\w-])+(\/)?)*)?$
必需要A或B开头之后跟着一个\之后再1位1之后0-9的1位数之后。。。。好多写不下,不写了。
------解决思路----------------------
以A或B开头跟一个斜杠
((0[1-9])
------解决思路----------------------
(1[0-2]))\/ 0后跟1-9的其中一个或者1后跟0-2其中一个,最后是一个斜杠
后面类似,就是判断一个字符串的规则
------解决思路----------------------
^(A
------解决思路----------------------
B)\/(1\d)((0[1-9])
------解决思路----------------------
(1[0-2]))\/((0[1-9])
------解决思路----------------------
([1
------解决思路----------------------
2][0-9])
------解决思路----------------------
(3[0-1]))(\/(([\w-])+(\/)?)*)?$
^起始符
(A
------解决思路----------------------
B) 匹配A或者B
\/ 匹配/
(1\d) 匹配10到19
(0[1-9]),(1[0-2])与上面类似
\/ 匹配/
((0[1-9])
------解决思路----------------------
([1
------解决思路----------------------
2][0-9])
------解决思路----------------------
(3[0-1])) 参考上面
(\/)? 匹配/
([\w-])+ 匹配数字、字母、中划线、下划线 1到无穷个
(\/)? 匹配一个或0个/
(([\w-])+(\/)?)* 匹配0次到无穷次
(\/(([\w-])+(\/)?)*)? 匹配0次货1次
$结束符