Python之正则表达式

一、正则表达式

1、语法

如果以"\"开头的元字符与转义字符相同,则需要使用"\",或者使用原始字符串。

在字符串前加上字符r或R之后表示原始字符串,字符串中任意字符都不再进行转义。原始字符串可以减少用户的输入,主要用于正则表达式和文件路径字符串的情况,但如果字符串以一个斜线"\"结束的话,则需要多写一个斜线,即以"\"结束。

举例:

python 复制代码
最简单的正则表达式是普通字符串,可以匹配自身
'[pjc]ython'可以匹配'python'、'jython'、'cython'
'[a-zA-Z0-9]'可以匹配一个任意大小写字母或数字
'[^abc]'可以一个匹配任意除'a'、'b'、'c'之外的字符
'python|perl'或'p(ython|erl)'都可以匹配'python'或'perl'
子模式后面加上问号表示可选。r'(http://)?(www\.)?python\.org'只能匹配'http://www.python.org'、'http://python.org'、'www.python.org'和'python.org'
'^http'只能匹配所有以'http'开头的字符串

2、直接使用正则表达式模块re处理字符串

下面的代码使用以"\"开头的元字符来实现字符串的特定搜索。

python 复制代码
>>> import re
>>> example = 'Beautiful is better than ugly.'
>>> re.findall('\\bb.+?\\b', example)    #以字母b开头的完整单词
                                         #此处问号?表示非贪心模式
['better']
>>> re.findall('\\bb.+\\b', example)     #贪心模式的匹配结果
['better than ugly']
>>> re.findall('\\bb\w*\\b', example)
['better']
>>> re.findall('\\Bh.+?\\b', example)    #不以h开头且含有h字母的单词剩余部分
['han']
相关推荐
Cloud_Shy6184 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔
开发语言·python
SunnyDays10114 分钟前
Python 操作 Excel 超链接:添加网页、文件、工作表和图片链接
python·excel
雨辰AI10 分钟前
MySQL 迁移至达梦 DM9 完整改造指南|99% SQL 零改动
java·开发语言·数据库·sql·mysql·政务
弹简特13 分钟前
【Java项目-轻聊】05-AI赋能设计接口文档
java·开发语言
li星野14 分钟前
RAG优化系列:HyDE(假设文档嵌入)——让LLM先写答案再检索
python·学习
AI行业学习16 分钟前
.NET Framework 3.5 SP1 完整离线包(2029.5.29)
开发语言·windows·.net
知识分享小能手17 分钟前
Flask入门学习教程,从入门到精通,Flask智能租房——用户中心知识点详解(9)
python·学习·flask
cany100017 分钟前
C++ -- 队列std::queue
开发语言·c++
MageGojo17 分钟前
做节日活动页时,如何用 API 快速生成对联内容
javascript·python·节日·对联生成
skywalk816322 分钟前
根据言律的语法,能否用racket进行开发呢?主要探讨是否可行。 racket在这里:E:\Program Files\Racket\Racket.exe
开发语言·原型模式