当前位置:首页 » 编程语言 » python正则compile

python正则compile

发布时间: 2024-11-27 05:19:05

‘壹’ python正则表达式中re.compile('\\\n')匹配的为什么是换行符

你这个\\\n等同于\n,\n是换行符的意思,\后面如果不是什么t,r,n之类的,表示他的\后面的那个东西是没有意义的

\\,第一个反斜杠表示转义,意思是第二反斜杠不再视为一个转义字符。
在python看来\\字符,实际上只是一个\反斜杠。

‘贰’ python正则表达式是什么

python正则表达式是:

'hing'

'wing'

'123456'

'dddddd'

'regex.py'

'.*.py'

正则表达式(简称为 regex)是一些由字符和特殊符号组成的字符串, 描述了模式的重复或者表述多个字符。正则表达式能按照某种模式匹配一系列有相似特征的字符串。换句话说, 它们能够匹配多个字符串。

孤立的一个正则表达式并不能起到匹配字符串的作用,要让其能够匹配目标字符,需要创建一个正则表达式对象。通常向compile()函数传入一个原始字符形式的正则表达式,即 r'.....'。

要让正则表达式不区分大小写,可以向re.compile()传入re.IGNORECASE或re.I,作为第二个参数。通过传入re.DOTALL作为re.compile()的第二个参数,可以让句点字符匹配所有字符,包括换行字符。

‘叁’ Python正则re模块使用步骤及原理解析

Python正则re模块的使用步骤和基本概念如下:

首先,导入re模块,这是使用正则表达式的必要步骤:import re

接着,创建一个Regex对象,通过调用re.compile()函数,可以对正则表达式进行编译:regex_obj = re.compile(r'正则表达式模式')

然后,使用编译后的对象执行匹配,通过match_obj = regex_obj.search('输入字符串'),获取匹配结果。匹配成功后,可以调用match_obj.group(编号)来获取特定组的匹配内容,如果没有编号则使用match_obj.group()获取整个匹配的字符串。

例如,对电话号码的分组提取:regex_obj = re.compile(r'(\d{3})-(\d{3})-(\d{4})'),在输入'我司电话:035-411-1234'中,可以分别获取区号、中间号和四位数。

正则表达式中,还有一些特殊字符,如`\d`代表数字,`\w`代表单词字符,`\s`代表空格。如`\w\d\d\d-`可以匹配电话号码。

此外,`|`用于表示"或",`*`表示"零次或多次",`+`表示"一次或多次",`?`表示"零次或一次"。例如,`200|ok|successfully`可以匹配到200、ok或successfully。

使用findall()函数可以获取所有匹配的字符串行表,而sub()则用于替换字符串中的匹配部分。

正则表达式学习需要不断的实践和理解,希望以上内容能帮助大家更好地掌握Python的正则re模块。

‘肆’ Python re模块 正则表达式之compile函数

为了重复利用同一个正则对象,需要多次使用这个正则表达式的话,使用re.compile()保存这个正则对象以便复用,可以让程序更加高效。

1)re.compile

参数:

re.I 忽略大小写

re.L 表示特殊字符集 w, W, b, B, s, S 依赖于当前环境

re.M 多行模式

re.S 即为' . '并且包括换行符在内的任意字符(' . '不包括换行符)

re.U 表示特殊字符集 w, W, b, B, d, D, s, S 依赖于 Unicode 字符属性数据库

re.X 为了增加可读性,忽略空格和' # '后面的注释

案例:

在上面,当匹配成功时返回一个 Match 对象,其中:

2)re.findall

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。

注意: match 和 search 是匹配一次 findall 匹配所有。

参数:

案例:

3)re.finditer

和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

案例:

4)re.split

split 方法按照能够匹配的子串将字符串分割后返回列表。

案例:

从上篇Python re模块 正则表达式到这篇,我们已经把常用的正则匹配的方法学会了。

关注我,坚持每日积累一个技巧, 长期坚持 ,我们将会不断进步。

#python# #程序员# #请回答,你的年度知识点# #教育听我说# #计算机#

热点内容
我的世界手机版国际服怎么创建自己的服务器 发布:2024-11-27 07:38:19 浏览:693
java中立方 发布:2024-11-27 07:07:05 浏览:484
编程Q1 发布:2024-11-27 06:52:29 浏览:459
版本编译验证 发布:2024-11-27 06:46:43 浏览:938
ftp上传占内存 发布:2024-11-27 06:46:40 浏览:58
怎么建java基岩互通服务器 发布:2024-11-27 06:37:28 浏览:959
aspcms图片上传 发布:2024-11-27 06:32:20 浏览:416
qq空间本地上传的音乐 发布:2024-11-27 06:14:50 浏览:921
办公室云电脑服务器 发布:2024-11-27 06:11:45 浏览:27
有趣的php 发布:2024-11-27 05:58:13 浏览:960