手机版

python正则表达式

时间:2021-08-31 来源:互联网 编辑:宝哥软件园 浏览:

一.定义

正则表达式是字符串运算的逻辑公式,即“正则字符串”由预先定义的一些特定字符和这些特定字符的组合组成。这个“常规字符串”用于表示字符串的过滤逻辑。如果我们找到符合这样一个规则的字符串,我们说它匹配,否则它失败。

二、匹配规则

1.语法规则

2.相关说明

A.反斜杠问题

如果需要匹配文本中的字符“\”,那么在用编程语言表示的正则表达式中将需要四个反斜杠“\ \ \”:前两个和后两个用于在编程语言中转义成反斜杠,然后在转换成两个反斜杠后在正则表达式中转义成一个反斜杠。匹配过程如下:

字符匹配过程\\\\abc取消字符串实值的反斜杠转义\\abc取消re.compile () \abc要匹配的目标字符串为了解决输入四个“\”的麻烦,我们可以使用python中的原始字符串,即在字符串前加R。如下所示:

导入再版(re。search (r' \ \ ABC ',' 123 \ \ ABC ')从上面可以看出,使用原生字符串省略了从字符串实值到re编译器的字符串转义过程,但编译器在编译时仍然需要转义。

B.贪婪匹配和非贪婪匹配

贪婪匹配:正则表达式一般倾向于最大长度匹配,称为贪婪匹配。例如:

导入再版(re。匹配(' ab。* c ',' abcdfghc ')匹配整个字符串。而不是贪婪匹配,意味着只匹配结果,至少匹配字符。Python默认为贪婪模式;直接在量词后面加问号?是非贪婪模式。

导入重新打印(重新匹配(' ab。*?c ',' abcdfghc ')这种匹配的结果是“abc”。

三.模块和功能

Re模块

编译()编译语法规则

Match()从字符串的开头开始匹配

Search()从字符串的任何位置匹配符合规则的第一个字符串

Findall以列表形式返回所有匹配的字符串

Finditer将所有匹配的字符串作为迭代器返回

Split()拆分字符串

Group()获取匹配字符串的分组信息

第四,特殊结构的规则

摘要

以上文章是和边肖介绍的python正则表达式相关的,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:python正则表达式是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。