Python中,正则表达式,

目录

在Python中,正则表达式(Regular Expressions,简称regex)是一种强大的文本处理工具,用于匹配、查找和替换字符串中的模式。Python通过 re模块 提供正则表达式支持。以下是一些常见的正则表达式规则和示例,帮助你更好地理解和使用正则表达式。

常用正则表达式符号和规则

1.基本匹配

python 复制代码
.:匹配除换行符外的任意单个字符。
\d:匹配一个数字字符,等价于 [0-9]。
\D:匹配一个非数字字符,等价于 [^0-9]。
\w:匹配一个单词字符(字母、数字、下划线),等价于 [a-zA-Z0-9_]。
\W:匹配一个非单词字符。
\s:匹配一个空白字符(空格、制表符、换行符等)。
\S:匹配一个非空白字符。

2.量词

python 复制代码
*:匹配前面的字符零次或多次。
+:匹配前面的字符一次或多次。
?:匹配前面的字符零次或一次。
{n}:匹配前面的字符恰好n次。
{n,}:匹配前面的字符至少n次。
{n,m}:匹配前面的字符至少n次,至多m次。

3.边界匹配

python 复制代码
^:匹配字符串的开头。
$:匹配字符串的结尾。
\b:匹配单词的边界。
\B:匹配非单词边界。
分组和捕获
():用于分组和捕获匹配的内容。
(?:):用于分组但不捕获。

4.选择和逻辑

python 复制代码
|:表示或,匹配左边的模式或右边的模式。
特殊字符
\:用于转义特殊字符,使其成为普通字符。

5.示例代码

python 复制代码
import re
 # 示例字符串
text = "The price is $19.99 for the book and $29.99 for the magazine."
 
# 匹配所有价格
prices = re.findall(r'\$\d+\.\d{2}', text)
print("Prices:", prices)  # 输出: ['$19.99', '$29.99']
 
# 匹配所有单词
words = re.findall(r'\b\w+\b', text)
print("Words:", words)  # 输出: ['The', 'price', 'is', 'for', 'the', 'book', 'and', 'for', 'the', 'magazine']
 
# 匹配以特定字符开头的单词
words_with_b = re.findall(r'\b[bB]\w+\b', text)
print("Words starting with 'b':", words_with_b)  # 输出: ['book']
 
# 匹配所有数字
numbers = re.findall(r'\d+', text)
print("Numbers:", numbers)  # 输出: ['19', '99', '29', '99']
解释
r'\$\d+\.\d{2}':匹配价格格式,如 $19.99。
\$:匹配美元符号。
\d+:匹配一个或多个数字。
\.:匹配小数点。
\d{2}:匹配两个数字。
r'\b\w+\b':匹配所有单词。
\b:匹配单词边界。
\w+:匹配一个或多个单词字符。
r'\b[bB]\w+\b':匹配以 b 或 B 开头的单词。
[bB]:匹配 b 或 B。
通过使用这些正则表达式符号和规则,你可以灵活地处理和操作文本数据。
相关推荐
Pop–4 分钟前
Vue3 el-tree:全选时只返回父节点,半选只返回勾选中的节点(省-市区-县-镇-乡-村-街道)
开发语言·javascript·vue.js
虚!!!看代码19 分钟前
【JVM-GC调优】
java·开发语言·jvm
yuanyxh21 分钟前
commonmark.js 源码阅读(一) - Block Parser
开发语言·前端·javascript
Nina_71724 分钟前
Day 15 训练
python
小白的代码日记38 分钟前
java-反射精讲
java·开发语言
进取星辰39 分钟前
22、城堡防御工事——React 19 错误边界与监控
开发语言·前端·javascript
zxctsclrjjjcph40 分钟前
【递归、搜索和回溯】递归、搜索和回溯介绍及递归类算法例题
开发语言·c++·算法·力扣
橙色小博1 小时前
Python中的re库详细用法与代码解析
linux·python·正则表达式·php·re
碎梦归途1 小时前
23种设计模式-行为型模式之模板方法模式(Java版本)
java·开发语言·jvm·设计模式·软考·模板方法模式·软件设计师
八股文领域大手子1 小时前
Spring Boot Controller 如何处理HTTP请求体
java·开发语言·sql·spring·spring cloud