Python爬虫知识(2)——正则表达式复习
来源:互联网 发布:编译java的软件 编辑:程序博客网 时间:2024/05/20 01:35
"""特殊字符1、 ^ $ * ? + {2} {2,} {2,5} |2、 [] [^] [a-z] .3、 \s \S \w \W4、 [\u4E00-\u9FA5] () \d"""import re# line = 'bobby123'# . 代表任意字符, * 代表前边的字符出现任意多次# b 开头,后边任意字符出现任意多次# re_pattern = '^b.*'# if re.match(re_pattern, line):# print("success!")# -----------------------------------------# $ 代表以之前字符结尾# b 开头,中间任意字符,3 结尾# re_pattern = '^b.*3$'# if re.match(re_pattern, line):# print("success!")# -----------------------------------------# line = 'booooooooooooooooooooobby123'## re_pattern = '.*(b.*b).*'# match_obj = re.match(re_pattern, line)# if match_obj:# print(match_obj.group(1))# # bb# # 出现此种现象是因为,正则表达式是 反向匹配(从右向左匹配) 的## # ? 代表 非贪婪匹配## re_pattern = '.*?(b.*b).*'# match_obj = re.match(re_pattern, line)# if match_obj:# print(match_obj.group(1))# # booooooooooooooooooooobb## re_pattern = '.*?(b.*?b).*'# match_obj = re.match(re_pattern, line)# if match_obj:# print(match_obj.group(1))# # booooooooooooooooooooob# -----------------------------------------# + 代表 出现至少一次## line = 'booooooooooooooooooooobbbaby123'# re_pattern = '.*(b.*b).*'# match_obj = re.match(re_pattern, line)# if match_obj:# print(match_obj.group(1))# -----------------------------------------# {x} x 表示前面字符出现的次数# {x,} 大于等于 x# {x,y} 大于等于 x,但小于等于 y# line = 'booooooooooooooooooooobbbaaby123'# re_pattern = '.*(b.{2,}b).*'# match_obj = re.match(re_pattern, line)# if match_obj:# print(match_obj.group(1))# ----------------------------------------------# | 表示 或 的关系# line = 'boobby123'# re_pattern = '((bobby|boobby)123)'# match_obj = re.match(re_pattern, line)# if match_obj:# print(match_obj.group(1))# ----------------------------------------------# # [] 中的任意一个字符出现即可# line = '18782928569'## # [^1] 代表不等一都可以# # [] 中的 . * 都没有特殊含义## re_pattern = '(1[48357][0-9]{9})'# match_obj = re.match(re_pattern, line)# if match_obj:# print(match_obj.group(1))# ----------------------------------------------# \s 表示 空格 , \S 表示 不为空格 都可以# line = '你 好'# re_pattern = '(你\S好)'# match_obj = re.match(re_pattern, line)# if match_obj:# print(match_obj.group(1))# \w 等于 [A-Za-z0-9_]# \W 与 \w 的含义相反# ----------------------------------------------# re_pattern = '([\u4E00-\u9FA5])'# match_obj = re.match(re_pattern, line)# if match_obj:# print(match_obj.group(1))# \d 代表 数字line = '你好,2017!'re_pattern = '.*?(\d+)'re_pattern = '.*(\d{4})'match_obj = re.match(re_pattern, line)if match_obj: print(match_obj.group(1))
阅读全文
0 0
- Python爬虫知识(2)——正则表达式复习
- Python爬虫入门——正则表达式
- python正则表达式复习2
- Python爬虫 正则表达式
- Python爬虫-正则表达式
- python爬虫-正则表达式
- 黑马程序员——Java基础---正则表达式--(冲刺复习知识补充)
- 正则表达式扩展----网页爬虫(复习io流+网络)
- Python爬虫教程——入门七之正则表达式
- 转载——python和爬虫的正则表达式
- Python 爬虫4——使用正则表达式筛选内容
- python爬虫入门——正则表达式的学习
- python爬虫学习第十三天——正则表达式
- 正则表达式基础——以Python爬虫为实例
- Python爬虫—1入门_4_正则表达式
- Python爬虫实践(八):正则表达式re模块(2)
- Python爬虫学习纪要(五):正则表达式2
- Python爬虫入门(7):正则表达式
- 利用bootstrap和js完成一个简易的文件上传按钮
- HTML 头部
- java发送邮件程序
- 欢迎使用CSDN-markdown编辑器
- 【HDFS基础】NameNode内存详解
- Python爬虫知识(2)——正则表达式复习
- 链表
- HTML CSS
- SpringMVC 使用@ResponseBody返回json 中文乱码
- 集合框架--Collections
- JSON.parse()和JSON.stringify()
- 移位操作 >> << >>= <<=
- opencv 3.2.0
- CORS跨域资源共享