import re
pattern = re.compile('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')
matched = re.match(pattern, '192.12.23.32')
print(matched.group())
具体可以参考Python 正则表达式文档。个人觉得不是很容易读懂,只能边用边积累,而且一不用就忘光光。故此写下笔记用作日后查询。
以下解释一下代码。
re是python regular expression的包。
re.compile是把表达式先编译好成状态机,如果要后面重复使用这个pattern的话会快一点。
re.match第一个参数是pattern,第二个参数是string。pattern也可以用string代替。
matched = re.match('\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}', '192.12.23.32')
match是从头开始找,如果在中间可以用re.search。
\d是数字,{1,3}是一到3个。\d{1,3}是1到3个数字。\.是一个点。如果不加\,.表示任意字符。