1、使用正则表达式匹配出
www.baidu.com
中的地址答:import re
source = "
www.baidu.com
"pat = re.compile("
(.*?)
")print(pat.findall(source)[0])
另外一个问题:a="张明 98 分",用 re.sub,将 98 替换为 100import re
s = "张明 98 分"
print(re.sub(r"\d+","100",s))
2、正则表达式匹配中(.)和(.?)匹配区别?
答:(.) 为贪婪模式极可能多的匹配内容 ,(.?) 为非贪婪模式又叫懒惰模式,一般匹配到结果就好,匹配字符的少为主,示例代码如下import re
s = "
文本 1
文本 2
"
pat1 = re.compile(r"\
(.*?)\
")
print(pat1.findall(s))
pat2 = re.compile(r"\
(.*)\
")
print(pat2.findall(s))
输出['文本 1', '文本 2']
['文本 1