- re.search(正则表达式, 需要匹配的目标字符串)
从左到右只要找到就匹配,只要能匹配到就行,匹配到一个就结束。
- 如果要拿到所有匹配到的,就需要用到re.findall(),把所有匹配到的以列表形式列出来。这时候 ^ 就有了用武之地。
>>> s
search方法和findall方法
'itcast</h1></html>itheima</h1>'
>>> re.search(r"\w+</h1>", s)
<_sre.SRE_Match object; span=(0, 11), match='itcast</h1>'>
>>> re.findall(r"\w+</h1>", s)
['itcast</h1>', 'itheima</h1>']
- sub是用来替换的,接收三个参数
在VI中如果要替换用“r”,如果批量替换用“R”
re.sub(符合规则的部分, 需要替换成的东西,目标被处理的字符串 )
(会把所有符合规则的全部替换)
如果只想替换一部分,要另外确定规则。
- Python中的print函数自动把里面的内容转换成字符串类型
def replace(result):
print(result.group())
r = int(result.group()) + 20
return str(r)
import re
re.sub(r"\d+", replace, "python=100, php=10")
100
10
'python=120, php=30'
-
三个引号表示保留字符串原始格式里面的换行、单引号双引号不需要处理。
Python中三个引号包含的注释信息也是有意义的,表示在这里定义了一个数据类型,只是没有去用而已,如果三个引号之间的文本内容多达几个G,程序仍然会崩溃,和#不一样,#后面的东西Python完全不去理睬。
三个单引号,可以理解为注释,但它并不是注释,只是字符串的一种特殊格式。
网友评论