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。
通过使用这些正则表达式符号和规则,你可以灵活地处理和操作文本数据。
相关推荐
MarkHard12312 分钟前
JavaSE知识总结 ~个人笔记以及不断思考~持续更新
java·开发语言·笔记
瓦特what?15 分钟前
C++中实现随机数(超详细!)
开发语言·c++·windows·算法
Humbunklung26 分钟前
Rust 变量与可变性
开发语言·算法·rust
C666688836 分钟前
TCP/IP协议
开发语言·tcp/ip·计算机视觉·信息与通信
Lester_110136 分钟前
嵌入式学习笔记 - freeRTOS在程序开始在任务内创建任务的好处是什么
java·开发语言·freertos
愚润求学36 分钟前
【Linux】线程控制
linux·运维·开发语言·c++·笔记
泽020239 分钟前
C++之动态数组vector
java·开发语言·c++
Code_流苏1 小时前
Python趣学篇:交互式词云生成器(jieba + Tkinter + WordCloud等)
python·pillow·matplotlib·tkinter·wordcloud·jieba分词·词云生成器
stein_java1 小时前
springMVC-9数据格式化
java·开发语言
李少兄1 小时前
Java集合初始化:Lists.newArrayList vs new ArrayList()
java·开发语言·python