很早之前就一直听别人在讲正则表达式了,今天研究了一下发现,正则表达式更多的是前端的人会用到,对于做后端的,好像并用不到。
规则也很简单,给我的感觉就是升级版通配符。
研究了一下匹配ip的正则表达式,记录一下。
下面就是用来匹配ip地址的正则表达式。
\b((25[0-5]|2[0-4][0-9]|1?\d?\d)\.){3}(25[0-5]|2[0-4][0-9]|1?\d?\d)\b
首先用空格大致分一下结构
\b ((25[0-5] | 2[0-4][0-9] | 1?\d?\d) \.) {3} (25[0-5] | 2[0-4][0-9] | 1?\d?\d) \b
一层一层的拆开看哈,开头和结尾两个\b,这个意思就是开头和结尾不能是数字。
((25[0-5] | 2[0-4][0-9] | 1?\d?\d) \.) {3} (25[0-5] | 2[0-4][0-9] | 1?\d?\d)
现在就变成上面这样了,首先讲一下{3}这个功能哈,代表前面的整体必须出现多少次,你也可以给两个参数比如xxx{2,3}这个就代表‘xxx’须出现两次或者三次。
((25[0-5] | 2[0-4][0-9] | 1?\d?\d) \.)
看{3}的左右两边,左边多了一个“\.”,有编程思想的就明白了,左边代表匹配ip地址的前三位加分隔符。
25[0-5] | 2[0-4][0-9] | 1?\d?\d
|符号代表或者的意思。
[0-9]代表必须有一位,且必须是0到9的数字。同理你可以改成字符来匹配。
\d代表的意思就是匹配一个数字。
?符号代表的意思就是,前面的一部分可有可无,1?\d?\d,就是1可有可无,\d可有可无。
简单的了解了一下,我感觉在简单的运用时,完全可以百度,基本上都有写好了的表达式。