白春媛吧 关注:24贴子:3,684
  • 1回复贴,共1

正则表达式

只看楼主收藏回复

首先说\d+(\.\d+)? 左边\d匹配一个数字后面的加号意思是说明前面这个\d的数字为1到多个,然后括号里面的\.匹配'.'这个字符(由于.在正则里面表示一个字符,所以加上\转义才能表示'.'这个字符),然后的'\d+'和左边的一样,匹配多个数字,最后将'\.\d+'加上括号再加'?'表示小数点和多个数字可以有或没有(?表示0到1,是修饰前面的括号中内容的),所以总结下,整个表达式匹配一个正常的数字,当有小数点时,必须后面有数字,例如 '1' 满足 '2.3'满足 但是 '1.'就不满足了
补充:
接下来说.*(\\.\\d*){2,}.*,也就是.*(\.\d*){2,}.*
'.*' 第一个点,表示一个除'\n'外任意字符,*修饰前面的点,表示该字符出现0到多次
括号中的'\.\d*' \.表示小数点这个字符,\d*表示0到多个数字
后面{2,}是修饰前面的括号中内容的,表示满足前面括号中条件的字符串需要出现次数>=2
最后的'.*',表示多个除'\n'外任意字符,和前面相同
举例:
a..c 满足
a.1.2c 满足(.1.2 表示'\.\d*'出现了2次)
a.1c 不满足


IP属地:北京1楼2013-11-08 15:35回复
    IP属地:北京2楼2013-11-08 15:40
    回复