初步使用python的正则表达式用于匹配数字
-
操作系统: Linux
-
python版本: Python 3.5.2
-
简单使用正则库re在命令行验证匹配数字
>>> import re
>>> origin="12 13 14"
>>> print(origin)
12 13 14
>>> res=re.match(r"(\d\d) (\d\d) (\d\d)", origin)
>>> res.group()
'12 13 14'
>>> res.group(1)
'12'
>>>
关于电话号码、IP、指定范围的数字匹配已有成熟的方案和解决办法,本文不再赘述其他的解决办法,可以通过参考文献链接或者百度、谷歌等方式寻找其他的正则匹配方案。
使用python的 re.match() 来匹配数组
鉴于未能找到匹配一组数字的正则匹配方法,本文着重提供一个简易的demo和思路用于匹配数组
1,给定需求: 匹配定长数组,数组长度2,数组中每个整数大小在1~99之间
#!/usr/bin/env python3
import re
def Func01():
testText = '36 79'
pattern = re.compile(r'([1-9]\d?|0) ([1-9]\d?|0)')
searchResult = pattern.search(testText)
print('匹配结果: ' + searchResult.group())
print('匹配结果: 数字1:' + searchResult.group(1) + ' 数字2:' + searchResult.group(2))
Func01()
## ---------------
## 测试结果:
匹配结果: 36 79
匹配结果: 数字1:36 数字2:79
2,衍生需求,匹配非定长数组,精确匹配每个数字大小
长度匹配可以通过获取数组长度来进行组装
精确匹配每个数字大小可以通过参考文献中的方法进行规定
本文仅提供思路和初级使用方法