专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

python正则是什么_CSS学习

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/4 1:07:05       共计:3630 浏览

python正则是什么?

正则表达式是一个强大的字符串处理工具方法,关于字符串的操作绝大部分都可以使用正则表达式来解决,爬虫工作者更为重要,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能不一样,不过只要学会了任意一门语言的正则表达式用法,其他语言中大部分也只是换了个函数的名称而已,本质都是一样的。

分享一下我学习正则表达式的参考资料链接: https://www.runoob.com/python/python-reg-expressions.html

下面,我来介绍一下python中的正则表达式是怎么应用的

一.python中的正则表达式大致分为:

1.1. 元字符

1.2. 模式

1.3. 函数

1.4. re 内置对象用法

1.5. 分组用法

1.6. 环视用法

二.所有关于正则表达式的操作都使用 python 标准库中的 re 模块

小例子:

import re

s1 = 'hello World!'

regex = re.compile(s1, re.I)

print regex.match(s).group()

三.函数

简单分享一下三个函数match search compile,可以见下面图

四.分享一个找到的笔记实例

正则表达式实例:

#!/usr/bin/python

import re

line = "Cats are smarter than dogs"

matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)

if matchObj:

print "matchObj.group() : ", matchObj.group()

print "matchObj.group(1) : ", matchObj.group(1)

print "matchObj.group(2) : ", matchObj.group(2)

else:

print "No match!!"

正则表达式:

r'(.*) are (.*?) .*'

解析:

首先,这是一个字符串,前面的一个 r 表示字符串为非转义的原始字符串,让编译器忽略反斜杠,也就是忽略转义字符。但是这个字符串里没有反斜杠,所以这个 r 可有可无。

(.*) 第一个匹配分组,.* 代表匹配除换行符之外的所有字符。

(.*?) 第二个匹配分组,.*? 后面多个问号,代表非贪婪模式,也就是说只匹配符合条件的最少字符

后面的一个 .* 没有括号包围,所以不是分组,匹配效果和第一个一样,但是不计入匹配结果中。

matchObj.group() 等同于 matchObj.group(0),表示匹配到的完整文本字符

matchObj.group(1) 得到第一组匹配结果,也就是(.*)匹配到的

matchObj.group(2) 得到第二组匹配结果,也就是(.*?)匹配到的

因为只有匹配结果中只有两组,所以如果填 3 时会报错。

五.可以先把文档过一遍,用到的时候多练习,熟能生巧。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:svg动画软件_CSS学习 | ·下一条:边框如何取消另外三条线的颜色_CSS学习

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有