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。
通过使用这些正则表达式符号和规则,你可以灵活地处理和操作文本数据。
相关推荐
不正经学生1 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技1 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风4 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx4 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_5 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_5 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu5 小时前
CSharp: 万年历
开发语言·后端·c#·.net
傲笑风5 小时前
【openvino】tinybert基于openvino服务化部署(四)
人工智能·python·自然语言处理·nlp·bert·openvino
我找到地球的支点啦6 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
维基框架6 小时前
WIKI 知识库 v1.1.1 正式发布
人工智能·python