正则表达式(Regular Expression,简称为regex或RE)是一种描述字符串匹配规则的语言。在Python中,正则表达式被用于处理字符串,进行模式匹配、查找、替换等操作。Python通过内置的`re`模块来支持正则表达式的使用。
正则表达式具有以下特点:
原子:代表单个字符或字符类。
元字符:具有特殊含义的字符,如 `.`(匹配任意单个字符,除了换行符)、`*`(匹配前面的元素零次或多次)等。
模式修饰符:如`i`(忽略大小写)、`m`(多行模式)等,用于改变正则表达式的匹配行为。
贪婪模式与懒惰模式:贪婪模式会尽可能多地匹配字符,而懒惰模式则相反,尽可能少地匹配字符。
Python中使用正则表达式的例子:
```python
import re
编译一个正则表达式模式
pattern = re.compile(r'\d+') 匹配一个或多个数字
在字符串中查找所有匹配项
matches = pattern.findall('hello 123 world 456') 返回一个包含所有匹配项的列表
替换匹配项
replaced = pattern.sub('NUMBER', 'hello NUMBER world NUMBER') 将所有数字替换为'NUMBER'
正则表达式在文本处理和数据提取方面非常有用,不仅限于Python,其他编程语言也支持正则表达式