人工智能

还不会Python正则表达式?看这篇文章试试

字号+作者:益华科技来源:系统运维2025-11-04 12:17:09我要评论(0)

今天写爬虫偶然想到了初学正则表达式时候,看过一篇文章非常不错。检索一下还真的找到了。re模块re.search经常用match = re.search(pat, str)的形式。因为有可能匹配不到,所

今天写爬虫偶然想到了初学正则表达式时候,还不会看过一篇文章非常不错。正则表检索一下还真的达式找到了。

re模块

 

re.search

经常用match = re.search(pat,看篇 str)的形式。因为有可能匹配不到,文章所以re.search()后面一般用if statement。试试

 

re.match

re.match和re.search很相似,还不会只是正则表re.match是从字符串的开头开始匹配。

 

常用正则字符意义

a,达式 X, 9,等字符匹配自己, 元字符不匹配自己,因为有特殊意义,b2b信息网看篇比如 . ^ $ * + ?文章 { }[ ] \ | ( ) . 英文句号,匹配任意字符,试试不包含\n \w 匹配word字符,还不会[a-zA-Z0-9] \W 匹配非word字符 \b 匹配word和non-word之间边界 \s 匹配单个whitespace字符,正则表space, newline, return, tab, form [\n\r\t\f] \S 匹配non-whitespace字符 \t, \n, \r 匹配tab, newline, return \d 匹配数字[0-9] ^ 匹配字符串开头 $ 匹配字符串结尾

重复

‘+’ 一或多次, ‘*’ 零或多次, ‘?’ 零或一次

方括号[]

 

[]类似于or

Square brackets can be used to indicate a set of chars, so [abc] matches a or b or c.

 

Group Extraction圆括号()

有时候需要提取匹配字符的一部分,比如刚才的达式邮箱,我们可能需要其中的username和hostname,这时候可以用()分别把username和hostname包起来,就像r([\w.-]+)@([\w.-]+),如果匹配成功,那么pattern不改变,只是可以用match.group(1)和match.group(2)来username和hostname,IT技术网match.group()结果不变。

 

findall and groups

()和findall()结合,如果包括一或多个group,就返回a list of tuples。

 

给re.search加^之后是一样的。

re.sub

re.sub(pat, replacement, str)在str里寻找和pattern匹配的字符串,然后用replacement替换。replacement可以包含\1或者\2来代替相应的group,然后实现局部替换。 

b2b供应网

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 电脑显示错误无法加载PDF文档(解决电脑无法加载PDF文档的问题)

    电脑显示错误无法加载PDF文档(解决电脑无法加载PDF文档的问题)

    2025-11-04 11:24

  • 红米手机Mate5A性能全面评测(一起探索红米手机Mate5A的功能与性能)

    红米手机Mate5A性能全面评测(一起探索红米手机Mate5A的功能与性能)

    2025-11-04 10:02

  • 三星T520(突破性设计与卓越性能的完美结合)

    三星T520(突破性设计与卓越性能的完美结合)

    2025-11-04 09:54

  • 分期乐二手手机——购买二手手机的理想选择(方便安全的购买方式,全面保障消费者权益)

    分期乐二手手机——购买二手手机的理想选择(方便安全的购买方式,全面保障消费者权益)

    2025-11-04 09:45

网友点评