python3.0爬虫正则表达式写法_Python 爬虫 - 正则表达式

“原子是正则表达式的最基本的组成单位,并且在每一个模式中最少包含一个原子。原子是由全部那些未显示指定为元字符的打印和非打印字符组成,因此在这里将其详细划分为五类进行介绍。”

①普通字符做为原子

普通字符是编写正则表达式时最多见的原子了,包括全部的大写和小写字母字符、全部数字等。例如,a——z、A——Z、0——9。

②一些特殊字符和元字符做为原子

任何一个符号均可以做为原子使用,但若是这个符号在正则表达式中有一些特殊意义,咱们就必须使用转义字符“\”取消它的特殊意义,将其变成一个普通的原子。例如,全部标点符号以及一些其余符号,双引号“””、单引号“’”、“*”、“+”、“.”等,若是当原子就必须像\”、\’、\+和\.这样使用。

③一些非打印字符做为原子

所谓的非打印字符,是一些在字符串中的格式控制符号,例如空格、回车及制表符号等。例以下表所示列出了正则表达式中经常使用的非打印字符及其含义。

元字符(经常使用的元字符)

④使用“通用字符类型”做为原子

前面介绍的无论是打印字符仍是非打印字符做为原子,都是一个原子只能匹配一个字符。而有时咱们须要一个原子能够匹配一类字符,例如,匹配全部数字不是一个数字,匹配全部字母而不是一个字母,这时就要使用“通用字符类型”了。例以下表所示列出了正则表达式中经常使用“通用字符类型”及其含义。

⑤自定义原子表([])做为原子

c.模式修正符(经常使用的模式修正符)

“模式修正符就是几个字母,咱们在每一个正则表达式中能够一次使用一个,也能够连续使用多个,每个具必定的意义。对整个正则表达式调优使用,也能够说是对正则表达式功能的扩展。”经常使用模式修正符有:

i  - 正则内容在匹配时候不区分大小写(默认是区分的)

m - 在匹配首内容或者尾内容时候采用多行识别匹配

s - 将转义回车/n取消是为单行匹配如.

x - 忽略正则中的空白

A - 强制从头开始匹配

D - 强制$匹配尾部无任何内容包括/n

U - 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束,经常使用在采集程序上的正则表达式

d.贪婪模式与懒惰模式

正则表达式,表示重复字符,操做符,默认都是贪婪模式,'?,+,*,{}' 默认都会选择贪婪模式,会最大长度匹配字符串(量词默认首先最大匹配字符串,这些量词有:+,*,?,{m,n} 。一开始匹配,就直接匹配到最长字符串)。要切换到懒惰模式(懒惰模式),就只是在该元字符,后面加多一个”?” 便可切换到非贪婪模式(尽量少地匹配所搜索的字符串)。

e.Python中经常使用的函数:

compile()

match()

search()

split()

sub()

findall()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 爬虫中,正则表达式是非常常用的技术,可以帮助我们从网页中提取出需要的信息。下面是一些常用的正则表达式符号和方法: 1. ".":匹配任意单个字符,除了换行符。 2. "^":匹配字符串的开始位置。 3. "$":匹配字符串的结束位置。 4. "*":匹配前一个字符出现 0 次或多次。 5. "+":匹配前一个字符出现 1 次或多次。 6. "?":匹配前一个字符出现 0 次或 1 次。 7. "{m}":匹配前一个字符出现 m 次。 8. "{m,n}":匹配前一个字符出现 m 到 n 次。 9. "(...)":分组匹配,匹配括号内的表达式。 10. "[...]":匹配括号内的任意一个字符。 11. "[^...]":匹配不在括号内的任意一个字符。 12. "\d":匹配数字,等同于 [0-9]。 13. "\D":匹配非数字,等同于 [^0-9]。 14. "\s":匹配空白字符,包括空格、制表符、换行符等。 15. "\S":匹配非空白字符。 16. "\w":匹配单词字符,包括字母、数字、下划线。 17. "\W":匹配非单词字符。 在 Python 中,使用 re 模块进行正则表达式的匹配。常用的方法包括: 1. re.compile(pattern):将正则表达式编译成一个对象,提高匹配效率。 2. re.search(pattern, string):在字符串中搜索匹配正则表达式的第一个位置。 3. re.findall(pattern, string):在字符串中搜索匹配正则表达式的所有位置,并返回一个列表。 4. re.sub(pattern, repl, string):将字符串中所有匹配正则表达式的字符替换为指定的字符串。 以上是一些常用的正则表达式符号和方法,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值