# 导入正则模块
import re
def test_c_administrator_swdj_add_01(self):
"""
正常添加一条数据:保存后列表数目叫之前加1;
:return:
"""
time.sleep(1)
DW = "测试单位"
BH = "Ceshi001"
BT = "测试标题"
RQ = "2021-07-14"
FS = 5
YJ = "测试意见"
BZ = "测试备注"
Info = AXP(self.driver).add_normal_swdj_page(DW, BH, BT, RQ, FS, YJ, BZ)
print(Info) <# ('共 5 条', '共 6 条')
if type(Info[0]) == str:
# \d+:匹配一个或更多连续的数字,重复1次或更多次
# \d*:匹配重复任意次数
# \.?:重复零次或者一次
num_1 = int(re.findall(r"\d+\.?\d*", Info[0])[0])
else:
num_1 = Info[0]
num_2 = int(re.findall(r"\d+\.?\d*", Info[1])[0])
print(num_1, num_2) # 5 6
self.assertEqual(num_1 + 1, num_2)
1、导入正则模块 import re
2、使用re.findall()函数
函数原型:
def findall(pattern, string, flags=0):
用法举例:
import re
str1 = "共 5 条"
print(type(str1))
if type(str1) == str:
num_1 = re.findall(r"\d+\.?\d*", str1)[0]
else:
num_1 = str1
print(num_1)
1、\d:表示任意一个十进制数字,相当月【0-9】
2、+ :匹配前面的字符一次或者多次
3、* :匹配前面的字符零次或者多次
4、? :匹配前面的字符零次或者一次
5、. :匹配出换行符外的任意一个字符
import re
str1 = "共 125 223 条"
if type(str1) == str:
num_1 = re.findall(r"\d+\.?\d*", str1)
else:
num_1 = str1
print(num_1)
<class ‘str’>[‘125’, ‘223’]
返回值是一个列表