2.1 python文本处理-正则表达式

这篇具有很好参考价值的文章主要介绍了2.1 python文本处理-正则表达式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python正则模块介绍

标准库模块 re

模块方法

# 将正则表达式样式编译成一个正则对象。一般用于多次使用正则对象的场景

re.compile(pattern)

# 扫描string字符串并查找符合patten样式的第一个位置,返回对应的 Match 结果,否则返回 None

re.search(patten, string)

# 如果 string 开头的零个或多个字符与正则表达式 pattern 匹配,返回对应的 Match 结果,否则返回 None

re.match(patten, string)

# 整个string余表达式patten样式匹配,返回对应的 Match 结果,否则返回 None

re.fullmatch(patten, string)

match结果指的是返回的Match对象,Match对象的group方法可以取出匹配到的结果

正则表达式语法

^: 指开头

$:指结尾

+:表示匹配一次或多次

?:表示匹配0或1次

*:表示匹配0或任意次

{n}:表示匹配指定次数

{m,}:至少匹配m次

{m, n}:匹配m至n次

.:匹配除‘\n’以外的任意单个字符

\d: 数字

\w:包括下划线的任何单词字符,等价于[a-zA-Z0-9_]

\W:非单词字符

\s:空白字符,包括空格、制表符、换页符等

\b:单词边界,例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er

\B:非单词边界

a|b:匹配a或b

(patten):匹配并获取结果

(?:patten):匹配但不获取结果

(?P<name>patten):匹配并获取结果,并命名为name,便于match.group进行获取查询

示例

compile + search

>>> import re
>>> pattern = "\d+"
>>> obj = re.compile(pattern)
>>> res = obj.search("a12b13c14")
>>> res
<re.Match object; span=(1, 3), match='12'>

match

>>> re.match("\w\d+", "a12b13c14")
<re.Match object; span=(0, 3), match='a12'>

>>> re.match("\d+", "a12b13c14")

None
>>> 

group

>>> res = re.match("(\w+):(\d+)", "bob:3,allen:10")
>>> res.group
<built-in method group of re.Match object at 0x1071b6780>

>>> res.group(0)
'bob:3'
>>> res.group(1)
'bob'
>>> res.group(2)
'3'

常见的正则表达式写法

正则表达式 场景
\d{4}-\d{2}-\d{2} 形如 YYYY-MM-DD样式的日期格式
^[A-Z][a-z ]+

以大写字母开头,且单词其他部分为小写

[a-zA-Z] 匹配英文字母

^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$

email
[\u2E80-\u9FFF] 汉字

参考文档

正则表达式手册

re --- 正则表达式操作 — Python 3.12.1 文档文章来源地址https://www.toymoban.com/news/detail-789831.html

到了这里,关于2.1 python文本处理-正则表达式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 正则表达式与正则可视化工具:解密文本处理的利器

    在计算机科学和软件开发领域,正则表达式是一种强大而灵活的文本处理工具。然而,对于初学者来说,正则表达式的语法和规则可能会显得晦涩难懂。为了帮助初学者更好地理解和学习正则表达式,正则可视化工具应运而生。本文将介绍正则表达式的基本概念、语法和应用

    2024年02月19日
    浏览(54)
  • 如何使用Python和正则表达式处理XML表单数据

    在日常的Web开发中,处理表单数据是一个常见的任务。而XML是一种常用的数据格式,用于在不同的系统之间传递和存储数据。本文通过阐述一个技术问题并给出解答的方式,介绍如何使用Python和正则表达式处理XML表单数据。我们将探讨整体设计、编写思路和一个完整的案例,

    2024年02月10日
    浏览(68)
  • Shell 正则表达式及综合案例及文本处理工具

     目录 一、常规匹配 二、常用特殊字符 三、匹配手机号 四、案例之归档文件 五、案例之定时归档文件 六、Shell文本处理工具 1. cut工具 2. awk工具 一串不包含特殊字符的正则表达式匹配它自己 例子,比如说想要查看密码包含root字符串的,可以这样写 cat /etc/passwd | grep root 特

    2024年01月17日
    浏览(49)
  • notepad++配合正则表达式分组模式处理文本转化为sql语句

    一、正则分组知识点补充 正则分组和捕获 ():用于分组和捕获子表达式。 大白话就是()匹配到的数据,通过美元符号加下标可以获取该数据,例如$1、$2, 下标从1开始。 下面的案例就采用该模式处理文本数据 二、使用正则的需求背景 有一份报表的数据,需要把数据入库到m

    2024年02月07日
    浏览(59)
  • Python正则表达式之学习正则表达式三步曲

            正则表达式描述了一种字符串匹配的模式,可以用来检查一个串的有无某子串,或者做子串匹配替换,取出子串等操作。也可以说正则表达式就是字符串的匹配规则,也可以理解为是一种模糊匹配,匹配满足正则条件的字符串。         1、数据验证(eg:表单验

    2024年02月15日
    浏览(66)
  • python正则表达式-正则基础

    目录 一、任一元素 二、匹配特定的字符类别          1、d  w 三、多个元素          1、两位元素 [][]          2、* + ?          3、重复次数 {}          4、位置匹配 ^ $          5、子表达式()         []:1、[ab] 匹配a或b;        2、[0-9] 匹配任意一个数

    2024年02月05日
    浏览(46)
  • 【自然语言处理】NLP入门(一):1、正则表达式与Python中的实现(1):字符串构造、字符串截取

       语言 是一种使用具有共同处理规则的沟通指令的广义概念,这些指令可以通过视觉、声音或触觉等方式传递。语言可以分为自然语言、动物语言和计算机语言。    自然语言 是人类发展过程中形成的一种信息交流方式,它包括口语和书面语,并且反映了人类的思想。

    2024年03月12日
    浏览(146)
  • 老夫的正则表达式大成了,桀桀桀桀!!!【Python 正则表达式笔记】

    特殊字符 .^$?+*{}[]()| 为特殊字符,若想要使用字面值,必须使用 进行转义 字符类 [] [] 匹配包含在方括号中的任何字符。它也可以指定范围,例: [a-zA-Z0-9] 表示a到z,A到Z,0到9之间的任何一个字符 [u4e00-u9fa5] 匹配 Unicode 中文 [^x00-xff] 匹配双字节字符(包括中文) 在 [] 中

    2024年02月04日
    浏览(60)
  • python 正则表达式

    2024年01月17日
    浏览(57)
  • PYthon正则表达式

    正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则

    2024年01月17日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包