python正则表达式,主要是语法有点怪异,所以有点难懂,其实习惯了就好。在使用正则表达式之前,需要先插入re模块。
要求:匹配以10为开头的ip地址,如10.0.11.121 10.225.0.11 而 10.0.11.1211 就不匹配。其中pattern = re.compile(r'^10(\.\d{1,3}){2}\.\d{1,3}$') 为核心匹配语句,其实严格上,这条匹配并不完美,像这样的ip它也会认为是匹配的 10.999.299.999 很显然这是不对的,但是使用字符串匹配的确有这样的缺陷,除非把ip地址分成四段,逐一去匹配并且判断值大小。相信这是一个不少工作量的事情。
要求:匹配以10为开头的ip地址,如10.0.11.121 10.225.0.11 而 10.0.11.1211 就不匹配。
- >>> import re
- >>> pattern = re.compile(r'^10(\.\d{1,3}){2}\.\d{1,3}$')
- >>> st = ‘10.0.11.1211‘
- >>> m = pattern.match(st)
- >>> if m:
- ... print 'match'
- ...
- >>> st = '10.0.11.121'
- >>> m = pattern.match(st)
- >>> if m:
- ... print 'match'
- ...
- match
- >>> st = '10.225.0.11'
- >>> m = pattern.match(st)
- >>> if m:
- ... print 'match'
- ...
- match
编辑回复