爬虫需要用到的正则表达式

静态网页数据包含大量字符串,需要用到正则表达式匹配。本文对正则表达式进行了整理。

1、\W和\w的用法

import re

str = '星期三wednesday3_@!'
r1 = re.findall('\w', str) # 匹配所有字母,数字,汉字,下划线
r2 = re.findall('\W', str) # 匹配所有非字母,数字,汉字,下划线
print(r1)
print(r2)

['星', '期', '三', 'w', 'e', 'd', 'n', 'e', 's', 'd', 'a', 'y', '3', '_']
['@', '!']

2、\s和\S的用法

import re

str = '星期三wednesday3_@!\n \t'
r1 = re.findall('\s', str) # 匹配空格、\r\n\t
r2 = re.findall('\S', str) # 匹配非空格、\r\n\t
print(r1) 
print(r2)

['\n', ' ', '\t']
['星', '期', '三', 'w', 'e', 'd', 'n', 'e', 's', 'd', 'a', 'y', '3', '_', '@', '!']

3、\d和\D的用法

import re

str = '星期三wednesday3_@!\n \t'
r1 = re.findall('\d', str) # 匹配所有数字
r2 = re.findall('\D', str) # 匹配所有数字
print(r1)
print(r2)

['3']
['星', '期', '三', 'w', 'e', 'd', 'n', 'e', 's', 'd', 'a', 'y', '_', '@', '!', '\n', ' ', '\t']

4. ^和$的用法

import re

str = '星期三wednesday3_@! \n\t'
r1 = re.findall('^星期', str) # ^匹配字符串起始部分
r2 = re.findall('\t$', str) # $匹配字符串终止部分
print(r1)
print(r2)

['星期']
['\t']

5. .、*、?的用法

 

  

上一篇:正则表达式入门-findall()函数


下一篇:[正则表达式实践1] 使用正则表达式提取商品的数字属性