python unitest 与 re库

re使得python支持了完整的正则表达式。

https://www.cnblogs.com/hello-wei/p/10181055.html

1. re.match(pattern, string, flags=0)     尝试从一个字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,则返回None

2. re.findall(string[, pos[, endpos]])

3. re.sub(pattern, repl, string, count=0, flags=0)  repl参数可以是一个函数,对所匹配到的字符串进行处理。

'(?P<name>...)'  其中?p后的name可以当作一个标签, 使用.group('name')来使用匹配到的字符串。

4. re.search(pattern, string, flags=0)    扫描整个字符串并返回第一个成功的匹配。

我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。小括号就是我们圈中的想要得到的模式字符串。

在一个字符串前,加上r, 'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子在字符串赋值的时候 前面加'r'可以防止字符串在时候的时候不被转义 原理是在转义字符前加'\',,在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。

'.'     匹配所有字符串,除\n以外
'-'     表示范围[0-9]
'*'     匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
'+'     匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+
'*'     匹配前面的字符0次或多次 re.findall("ab*","cabc3abcbbac")结果:['ab', 'ab', 'a']
'?'     匹配前一个字符串0次或1次 re.findall('ab?','abcabcabcadf')结果['ab', 'ab', 'ab', 'a']
'{m}'   匹配前一个字符m次 re.findall('cb{1}','bchbchcbfbcbb')结果['cb', 'cb']
'{n,m}' 匹配前一个字符n到m次 re.findall('cb{2,3}','bchbchcbfbcbb')结果['cbb']
'\d'    匹配数字,等于[0-9] re.findall('\d','电话:10086')结果['1', '0', '0', '8', '6']
'\D'    匹配非数字,等于[^0-9] re.findall('\D','电话:10086')结果['电', '话', ':']
'\w'    匹配字母和数字,等于[A-Za-z0-9] re.findall('\w','alex123,./;;;')结果['a', 'l', 'e', 'x', '1', '2', '3']

常用表,凑齐自己的匹配模板。

unittest 的使用框架总结:

https://blog.csdn.net/weixin_42139375/article/details/83216648

unittest的基本使用方法总结:

http://c.biancheng.net/view/2679.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值