正则表达式可以定义为用于在字符串中搜索模式的字符序列。模块重新提供了在python程序中使用正则表达式的支持。如果在使用正则表达式时出现错误,则re模块会抛出异常。
该重模块必须导入到使用正则表达式功能的python。
import re
正则表达式函数
python中使用了以下正则表达式函数。
| SN | 功能 | 描述 | 
| 1 | match | 此方法将字符串中的正则表达式模式与可选标志匹配。如果在字符串中找到匹配则返回true,否则返回false。 | 
| 2 | search | 如果在字符串中找到匹配项,则此方法返回匹配对象。 | 
| 3 | findall | 它返回一个列表,其中包含字符串中模式的所有匹配项。 | 
| 4 | split | 返回在每个匹配中已拆分字符串的列表。 | 
| 5 | sub | 替换字符串中的一个或多个匹配项。 | 
创建正则表达式
可以通过使用元字符,特殊序列和集合的混合来形成正则表达式。
元字符
元字符是具有指定含义的字符。
| 元字符 | 描述 | 示例 | 
| [] | 它代表一组字符。 | “[AZ]” | 
| \ | 它代表了特殊的序列。 | “\ r” | 
| 。 | 它表示任何角色出现在某个特定的地方。 | “Ja.v.” | 
| ^ | 它表示字符串开头的模式。 | “^的Java” | 
| $ | 它表示字符串末尾的模式。 | “点” | 
| * | 它表示字符串中出现零个或多个模式。 | “你好*” | 
| + | 它表示字符串中一个或多个模式的出现。 | “你好+” | 
| {} | 字符串的指定出现次数。 | “Java的{2}” | 
| | | 它代表这个或那个角色存在。 | “Java的|点” | 
| () | 捕获和分组 | 
特殊序列
特殊序列是包含\后跟其中一个字符的序列。
| 字符        描述 | |
| \一个 | 如果指定的字符出现在字符串的开头,则返回匹配项。 | 
| \ b | 如果指定的字符出现在字符串的开头或结尾,则返回匹配项。 | 
| \乙 | 如果指定的字符出现在字符串的开头但不在结尾处,则返回匹配项。 | 
| \ d | 如果字符串包含数字[0-9],则返回匹配项。 | 
| \ d | 如果字符串不包含数字[0-9],则返回匹配项。 | 
| \ S | 如果字符串包含任何空格字符,则返回匹配项。 | 
| \ S | 如果字符串不包含任何空格字符,则返回匹配项。 | 
| \ W | 如果字符串包含任何单词字符,则返回匹配项。 | 
| \ W | 如果字符串不包含任何单词,则返回匹配项。 | 
| \ž | 如果指定的字符位于字符串的末尾,则返回匹配项。 | 
集
集合是在一对方括号内给出的一组字符。它代表了特殊的意义。
| SN | 组 | 描述 | 
| 1 | [ARN] | 如果字符串包含集合中的任何指定字符,则返回匹配项。 | 
| 2 | [一个] | 如果字符串包含a到n之间的任何字符,则返回匹配项。 | 
| 3 | [^ ARN] | 如果字符串包含除a,r和n之外的字符,则返回匹配项。 | 
| 4 | [0123] | 如果字符串包含任何指定的数字,则返回匹配项。 | 
| 5 | [0-9] | 如果字符串包含0到9之间的任何数字,则返回匹配项。 | 
| 6 | [0-5] [0-9] | 如果字符串包含介于00和59之间的任何数字,则返回匹配项。 | 
| 7 | [A-ZA-Z] | 如果字符串包含任何字母(小写或大写),则返回匹配项。 | 
findall()函数
此方法返回一个列表,其中包含字符串中模式的所有匹配项的列表。它按照找到的顺序返回模式。如果没有匹配项,则返回空列表。
请考虑以下示例。
例
import re
str = "How are you. How is everything"
matches = re.findall("How", str)
print(matches)
print(matches)
输出:
['How', 'How']
匹配对象
匹配对象包含有关搜索和输出的信息。如果找不到匹配项,则返回None对象。
例
import re
 
 
 
str = "How are you. How is everything"
 
 
 
matches = re.search("How", str)
 
 
 
print(type(matches))
 
 
 
print(matches) #matches is the search object
输出:
<class'_sre.SRE_Match'> <_sre.SRE_Match对象; span =(0,3),match ='How'>
Match对象方法
有与Match对象关联的以下方法。
span():返回包含匹配起始位置和结束位置的元组。
string():返回传递给函数的字符串。
group():返回匹配项的字符串部分。
例
import re
 
 
 
str = "How are you. How is everything"
 
 
 
matches = re.search("How", str)
 
 
 
print(matches.span())
 
 
 
print(matches.group())
 
 
 
print(matches.string)
输出:
(0, 3) How How are you. How is everything
 
             第1章 Python简介
第1章 Python简介