最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python正则表达式是什么?怎么用?

    正文概述    2020-09-01   258

    小编经常能在后台收到留言,其中大部分小伙伴询问关于正则表达式,小编结合很多内容,整理出来这篇通俗易懂,直击概要内容。大家可以来了解下。

    正则表达式简介:

    正则表达式(regex)用于探索给定字符串中的固定模式。我们想找到的模式可以是任何东西。可以创建类似于查找电子邮件或手机号码的模式。还可以创建查找以a开头、以z结尾的字符串的模式。

    创建模式:

    使用正则表达式时,首先需要学习的是如何创建模式。接下来将对一些最常用的模式进行逐一介绍。可以想到最简单的模式是一个简单的字符串。

    pattern = r'times'
    string = "It was the best of times, it was the worst of times."
    print(len(re.findall(pattern,string)))

    为了帮助创建复杂的模式,正则表达式提供了特殊的字符/操作符。下面来逐个看看这些操作符。

    1、操作符

    这在第一个例子中使用过,可用于找到符合这些方括号中条件的一个字符。

    • [abc]-将查找文本中出现的所有a、b或c

    • [a-z]-将查找文本中出现的所有从a到z的字母

    • [a-z0–9A-Z]-将查找文本中出现的所有从A到Z的大写字母、从a到z的小写字母和从0到9的数字。

    Python中运行下列代码:

    pattern = r'[a-zA-Z]'
    string = "It was the best of times, it was the worst of times."
    print(len(re.findall(pattern,string)))

    2、点算符

    点运算符(.) 用于匹配除换行符以外的任何字符。运算符最大的优点是,它们可以结合使用。

    3、一些元序列

    在使用正则表达式时,一些模式会经常被用到。因此正则表达式为这些模式创建了一些快捷方式。最常用的快捷方式如下:

    • \w,匹配任何字母、数字或下划线。相当于[a-zA-Z0–9_]

    • \W,匹配除字母、数字或下划线以外的任何内容。

    • \d,匹配任何十进制数字。相当于[0–9]。

    • \D,匹配除十进制数字以外的任何数字。

    正则表达式函数

    目前为止,只使用了 re包中的findall 函数,其实还有很多其他函数。下面来逐个介绍。

    1、findall

    上面已经使用了 findall。这是我最常使用的一个。下面来正式认识一下这个函数吧。

    输入:模式和测试字符串

    输出:字符串列表。

    #USAGE:
    pattern = r'[iI]t'
    string = "It was the best of times, it was the worst of times."
    matches = re.findall(pattern,string)
    for match in matches:
    print(match)------------------------------------------------------------
    It
    It
    2、搜索
    输入:模式和测试字符串
    输出:首次匹配的位置对象。
    #USAGE:
    pattern = r'[iI]t'
    string = "It was the best of times, it was the worst of times."
    location = re.search(pattern,string)
    print(location)
    ------------------------------------------------------------
    <_sre.SRE_Match object; span=(0, 2), match='It'>
    可以使用下面编程获取该位置对象的数据:
    print(location.group())
    ------------------------------------------------------------
    'It'

    3、替换

    这个功能也很重要。当使用自然语言处理程序时,有时需要用X替换整数,或者可能需要编辑一些文件。任何文本编辑器中的查找和替换都可以做到。

    输入:搜索模式、替换模式和目标字符串

    输出:替换字符串

    string = "It was the best of times, it was the worst of times."
    string = re.sub(r'times', r'life', string)
    print(string)
    ------------------------------------------------------------
    It was the best of life, it was the worst of life.

    Python正则表达式应用范围:

    1、PAN编号

    2、查找域名

    3、查找电子邮件地址

    下面的正则表达式用于在长文本中查找电子邮件地址。

    match=re.findall(r'([\w0-9-._]+@[\w0-9-.]+[\w0-9]{2,3})',string)

    以上就是关于正则表达式的详细解析了,如需更多python实用知识,点击进入起源地模板网教学中心


    起源地下载网 » python正则表达式是什么?怎么用?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元