正则表达式
阿P的哲学
这个作者很懒,什么都没留下…
展开
-
python正则表达式匹配并提取图片地址
import res = """<img data-original="https://img02.sogoucdn.com/app/a/100520024/36189693dc8db6bd7c0be389f8aaddbd.jpg" src="https://img02.sogoucdn.com/app/a/100520024/36189693dc8db6bd7c0be389f8aaddbd.jpg" width="250" height="375" .jpg>"""result1 = r.原创 2022-05-22 15:13:16 · 1871 阅读 · 0 评论 -
Python正则表达式如何理解分组\num?
\num的理解 例子s=<html><h1>lalala<h1></html>re.macth(r"<(.+)><(.+)>.+</\2></\1>")意思就是,在匹配的过程中,可以在后面引用前面分组所匹配的字符串,在上述过程中,先匹配到分组html在匹配分组h1所以在之后的括号中可以直接引用该分组信息,\2表示第二个分组里面的h1举个例子import re# 正确的理解思路:如...原创 2022-05-18 09:09:42 · 862 阅读 · 0 评论 -
python正则表达式:循环判断匹配是否符合要求
import renames = ["name1", "_name", "2_name", "__name__"]for name in names: ret = re.match("[a-zA-Z_]+[\w]*",name) if ret: print("变量名 %s 符合要求" % ret.group()) else: print("变量名 %s ⾮法" % name)#输出结果# 变量名 name1 符合要求# 变量名 _name .原创 2022-05-13 09:12:04 · 1360 阅读 · 0 评论 -
python正则表达式:匹配汇总
import reemail_list = ["xiaoWang@163.com", "xiaoWang@163.comheihei", "lzfr@163.com", ".com.xiaowang@qq.com"]for email in email_list: ret = re.match("[\w]{4,20}@163\.com", email)#4到20位RP # ret = re.match("[\w]{4,20}@163\.com$", email) i...原创 2022-05-13 09:06:52 · 1742 阅读 · 0 评论 -
python正则表达式:贪婪与非贪婪
python里的数量词默认是贪婪的,总是尝试尽可能的匹配更多的字符。python中使用?号关闭贪婪模式如import reprint(re.match(r"aa\d+","aa2323")) #会尽可能多的去匹配\d# <re.Match object; span=(0, 6), match='aa2323'>print(re.match(r"aa\d+?","aa2323")) #尽可能少的去匹配\d# <re.Match object; sp原创 2022-05-10 09:03:16 · 3755 阅读 · 0 评论 -
python search和match的区别是什么?
import restr = '谢谢您,关注我:阿P的哲学';result = re.match('阿P的哲学', str)#rp:matchprint(result)result2 = re.match('谢谢您', str)#rp:matchprint(result2)result3 = re.search('阿P的哲学', str)#rp:searchprint(result3)result4 = re.search('谢谢您', str)#rp:searchprint(resul.原创 2022-05-09 10:57:00 · 571 阅读 · 0 评论 -
python正则表达式:匹配分组
| 匹配左右任意一个表达式只要|两边任意一个表达式符合要求就行import reprint(re.match(r'\d[1-9]|\D[a-z]','2233')) #匹配|两边任意一个表达式print(re.match(r'\d[1-9]|\D[a-z]','112233'))#RP测print(re.match(r'\d[1-9]|\D[a-z]','as'))print(re.match(r'\d[1-9]|\D[a-z]','0123'))#RP测输出:<..原创 2022-05-07 10:18:25 · 1164 阅读 · 0 评论 -
python正则表达式:匹配边界
$ 匹配结尾字符定义整个字符串必须以指定字符串结尾import reprint(re.match('.*d$','2testaabcd')) #字符串必须以d结尾a=re.match('.*d$','2testaabcd')print(a.group())print(re.match('.*c$','2testaabcd')) #字符串不是以c结尾,返回noneb=re.match('.*c$','2testaabcd')#注:rP:$,原教程第二个没有添加$,RP自己发现了...原创 2022-05-05 17:14:10 · 1116 阅读 · 0 评论 -
python正则表达式:表达数量的字符
import rea = re.match('..','testasdtest') print(a.group()) #输出tea = re.match('.*','testasdtest')print(a.group()) #全部输出输出:tetestasdtest原创 2022-05-05 15:50:13 · 479 阅读 · 0 评论 -
python正则表达式\d 匹配数字\D 匹配非数字\w 匹配单词\W 匹配非单词字符
一个\d代表一个数字。开头没匹配到,即使字符串其他部分包含需要匹配的内容,.match也会返回noneimport rea = re.match('\d\d','23es12testasdtest')print(a)print(a.group())b = re.match('\d\d\d','23es12testasdtest')print(b) #要求匹配三个数字,匹配不到返回nonec = re.match('\d','es12testasdtest')print(c) #.原创 2022-05-05 11:36:27 · 4109 阅读 · 0 评论 -
Python 正则表达式是什么?
re.match()必须从字符串开头匹配!match方法尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。主要参数如下:re.match(pattern, string)# pattern 匹配的正则表达式# string 要匹配的字符串举个例子import rea = re.match('test','testasdtest') print(a) #返回一个匹配原创 2022-05-05 10:45:21 · 379 阅读 · 0 评论 -
python正则表达式group的使用方法是什么?
import rea = "123abc456"print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0) #123abc456,返回整体print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1) #123print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2) #.原创 2022-05-05 10:19:53 · 2918 阅读 · 0 评论 -
AttributeError: ‘NoneType‘ object has no attribute ‘group‘解决方案(正则表达式)
这主要是由于没有匹配到元素,之后又调用了group()方法造成的import re content = 'hello world'result = re.match('^w.*d$', content)#这是想只提取worldprint(result)print(result.group())输出NoneTraceback (most recent call last): File "D:/000python/0505/5.py", line 6, in <module原创 2022-05-05 10:01:54 · 6930 阅读 · 1 评论