python 正则表达式
时间: 2023-09-04 22:16:40 浏览: 89
正则表达式是由一些具有特殊含义的字符组成的字符串,多用于查找、替换符合规则的字符串 在表单验证、Url映射等处都会经常用到
正则表达式是一种用于匹配文本字符串的模式,它可以用来检查一个字符串是否符合某种模式,或者从一段字符串中提取出符合规则的文本。在 Python 中,我们可以使用 `re` 模块来操作正则表达式。
下面是一些常用的正则表达式语法:
- `.`:匹配任意字符,除了换行符。
- `*`:匹配前面的字符零次或多次。
- `+`:匹配前面的字符一次或多次。
- `?`:匹配前面的字符零次或一次。
- `^`:匹配字符串开头。
- `$`:匹配字符串结尾。
- `[]`:匹配括号中的任意一个字符。
- `|`:匹配左右两边任意一个表达式。
- `\`:转义字符,用于匹配特殊字符。
下面是一个简单的例子,用正则表达式匹配邮箱地址:
```python
import re
email = 'abc123@qq.com'
pattern = r'^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$'
if re.match(pattern, email):
print('Valid email address')
else:
print('Invalid email address')
```
输出结果为 `Valid email address`,说明该邮箱地址符合规则。
其中,`pattern` 变量存储了正则表达式的模式,`re.match()` 函数用于判断字符串是否匹配该模式。在这个例子中,`^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$` 是一个匹配邮箱地址的正则表达式,具体解释如下:
- `^`:匹配字符串开头。
- `\w+`:匹配一个或多个字母、数字或下划线。
- `@`:匹配 `@` 符号。
- `[a-zA-Z_]+?`:匹配一个或多个字母或下划线,非贪婪模式。
- `\.`:匹配一个点号。
- `[a-zA-Z]{2,3}`:匹配两个或三个字母。
- `$`:匹配字符串结尾。
以上是一个简单的正则表达式示例,实际上正则表达式非常强大,可以用于复杂的文本处理任务。
阅读全文