RegularExpression
@ Zhang zhiyang · Monday, Jan 1, 0001 · 2 minute read · Update at Monday, Jan 1, 0001

爬虫基础…

修饰符

修饰符 含义 描述
i ignore 不区分大小写
g global 全局匹配
m multiline 使边界字符 ^$ 多行匹配
s . 中包含换行符 \n . 匹配全部字符

元字符

字符 描述
\ 转义
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
* 匹配前面的子表达式零次或多次{0,}
+ 匹配前面的子表达式一次或多次{0,}
? 匹配前面的子表达式零次或一次{0,1}
{n}
{n,}
{n,m}
? 当该字符紧跟在任何一个其他限制符
. 匹配除换行符\n之外的任何单个字符
|
[xyz] 字符集合
[^xyz] 非字符集合
[a-z] 字符范围
[^a-z] 非字符范围

预定元字符

字符 描述
\b 匹配一个单词边界
\B 匹配非单词边界
\d 匹配一个数字字符。等价于 [0-9]。
\D 匹配一个非数字字符。等价于 [^0-9]。
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
\w 匹配字母、数字、下划线。等价于[A-Za-z0-9_]。
\W 匹配非字母、数字、下划线。等价于 ‘[^A-Za-z0-9_]

非捕获元字符

字符 描述
(?:pattern)
xxx(?=pattern) 匹配pattern但不捕获
(?!pattern) 匹配非pattern但不捕获
(?<=pattern)xxx 匹配pattern但不捕获
(?<!pattern) 匹配非pattern但不捕获

python正则

re.match('www', 'www.runoob.com')   #re.match(pattern, string, flags=0)
re.search('www', 'www.runoob.com')  #re.search(pattern, string, flags=0)
re.sub(r'#.*$', "", "2004-959-559 # 这是一个国外电话号码")
#re.sub(pattern, repl, string, count=0, flags=0)
re.split('\W+', 'runoob, runoob, runoob.')
#re.split(pattern, string[, maxsplit=0, flags=0])
Zhang zhiyang's blog
不过是些许风霜罢了
c cyber http linux math mysql php python 前端

© 2016 - 2022 Zhangzhiyang的博客

Powered by Hugo with theme Dream.

我听别人说这世界上有一种鸟是没有脚的,它只能够一直的飞呀飞呀,飞累了就在风里面睡觉,这种鸟一辈子只能下地一次,那一次就是它死亡的时候。

日程

Zhangzhiyang的 ❤️ 博客

其他

如果你喜欢我的开源项目或者它们可以给你带来帮助,可以赏一杯咖啡 ☕ 给我。~

If you like my open source projects or they can help you. You can buy me a coffee ☕.~

PayPal

https://paypal.me/g1eny0ung

Patreon

Become a Patron!

微信赞赏码

wechat

最好附加一下信息或者留言,方便我可以将捐助记录 📝 下来,十分感谢 🙏。

It is better to attach some information or leave a message so that I can record the donation 📝, thank you very much 🙏.