Python的环模块

Re模块是python中特有的字符串匹配模块,该模块提供的很多功能都是基于正则表达式实现的。

正则表达式是字符串的模糊匹配,对于所有语言都是通用的。

1,个字符

2.字符集

3.量词

贪婪模式:总是尝试匹配尽可能多的字符。

而非贪婪,总是尽量少匹配字符。

{0,}匹配前一个字符0次或更多次,相当于*元字符。

{+,}匹配前一个字符1次或无限次,相当于+元字符。

{0,1}匹配前一个字符0次或1次,相当于?元字符

如果()后面跟一个特殊的元字符,比如(adc)*,那么由*控制的前导字符就是()中的全部内容,而不是前导字符。

4.特殊分组用法表:仅对正则函数返回对象有用。

5.维护

从断言的表达形式可以看出,它使用了分组符号,只是在开头加了一个问号。这个问号表示这是非捕获组。该组没有编号,不能用于反向引用。它只能用作断言。

比赛

我的理解是:

5.例子

(1)不是

^(?!。*200).*$,只匹配200。

^(?!。*[200|400]).*$,只匹配200和400。

[a-z]颠倒,没有a-z字母

(2) \u4e00-\u9fa5中文

(3) r"\b([\u4e00-\u9fa5]\s?[\u4e00-\u9fa5]+)\b" #小明匹配这个单词中间加一个空格。

compile函数用于编译正则表达式,并生成一个正则表达式(模式)对象,供match()和search()函数使用。

Match尝试从字符串的开头匹配一个模式,如果不成功,则返回none。

搜索扫描整个字符串,并返回第一个成功匹配的字符串。

重新匹配和重新搜索的区别:

正则表达式替换函数

在指定位置替换匹配成功的字符串,返回替换次数,可以分别被两个变量接受。

(2)剪切两个以上的字符,放入[](不预留分隔符):

(3)使用()捕获数据包(保留分隔符):

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

注意:match和search匹配一次,findall匹配全部。

用法:

注:1:一旦匹配,将再次匹配,从上一次匹配成功开始,也可以理解为匹配成功的字符串,不参与下一次匹配。

注2:如果没有写入匹配的规则,即空规则,则返回比原字符串多一位的空字符串列表。

注3:在规则匹配到空字符的情况下,如果规则中只有一个组,并且该组后面跟有*,则表示该组中的内容可以是零个或多个,所以该组有两个含义:

一个含义是匹配组中的内容,

第二层意思是匹配组中0的内容(即空白)

所以尽量避免使用*,否则可能会匹配一个空字符串。

返回表达式对象类型的正则表达式。

比如:

要返回一个对象,您需要以常规方式获取一个字符串。