python:正则表达式

范例一:

复制代码
import re

content = 'Hello 1234567 World_This is a Regex Demo'
result=re.match('^Hello\s(\d+)\sWorld',content)
print(result)
print(result.group())
print(result.group(1))
print(result.span())

关键知识点:

  1. re.match(pattern, string) :从字符串开头 开始匹配正则表达式,若开头不匹配则返回 None,匹配成功则返回 Match 对象。
  2. 正则表达式符号
    • ^:匹配字符串开头(re.match 本身已从开头匹配,此处可省略,但写出来更明确)。
    • \s:匹配任意空白字符(空格、制表符等)。
    • \d+:匹配 1 个或多个数字。
    • ():分组匹配,将括号内的内容作为一个分组,可通过 group(n) 提取。
  3. Match 对象的方法
    • group():返回整个匹配的字符串(等同于 group(0))。
    • group(1):返回第一个分组匹配的内容(若有多个分组,可依次用 group(2)group(3) 提取)。
    • span():返回匹配的起始和结束索引(元组形式)。

范例二:

复制代码
import re

content = 'Hello 1234567 World_This is a Regex Demo'
result=re.match('^Hello.*Demo$',content)
print(result)
print(result.group())
print(result.span())

关键知识点:

1. 正则表达式模式

^Hello.*Demo$ 的含义:

  • ^:匹配字符串的开头
  • Hello:匹配字面量字符串 "Hello"
  • .** 表示匹配前面的字符(. 代表任意字符,除换行符)0 次或多次
  • Demo$$ 匹配字符串的结尾,这里匹配字面量 "Demo"

范例三:

复制代码
import re

s = "Python is good, Python is powerful"
# 正则:匹配以Python开头,以is结尾的内容(非贪婪匹配)
pattern_lazy = r"Python.*?is"
result_lazy = re.search(pattern_lazy, s)
print("非贪婪匹配结果:", result_lazy.group())

print("非贪婪匹配结果:", result_lazy)
复制代码
import re

s = "Python insert is good, Python is powerful"
# 正则:匹配以Python开头,以is结尾的内容(非贪婪匹配)
pattern_lazy = r"Python.*?is"
result_lazy = re.search(pattern_lazy, s)
print("非贪婪匹配结果:", result_lazy.group())

print("非贪婪匹配结果:", result_lazy)

在python 和is 之间增加了insert,结果如下:

复制代码
import re

s = "Python insert is good, Python is powerful"
# 正则:匹配以Python开头,以is结尾的内容(非贪婪匹配)
pattern_lazy = r"Python.*is"
result_lazy = re.search(pattern_lazy, s)
print("非贪婪匹配结果:", result_lazy.group())

print("非贪婪匹配结果:", result_lazy)

将.*?更改为.*之后,运行结果如下:

.*正则表达式将所有可能的符合正则要求的范围全部包含了进来 !

相关推荐
skilllite作者6 分钟前
SkillLite 多入口架构实战:CLI / Python SDK / MCP / Desktop / Swarm 一页理清
开发语言·人工智能·python·安全·架构·rust·agentskills
A923A16 分钟前
【从零开始学 React | 第四章】useEffect和自定义Hook
前端·react.js·fetch·useeffect
ZC跨境爬虫21 分钟前
批量爬取小说章节并优化排版(附完整可运行脚本)
前端·爬虫·python·自动化
ths51223 分钟前
Python 正则表达式实战指南:从入门到精通(12 个高频案例)(三)
python·正则表达式
ZC跨境爬虫23 分钟前
海南大学交友平台登录页开发实战day4(解决python传输并读取登录信息的问题)
开发语言·前端·python·flask·html
Wyawsl24 分钟前
Python操作MySQL数据库
数据库·python·mysql
来一颗砂糖橘26 分钟前
pnpm:现代前端开发的高效包管理器
前端·pnpm
前端摸鱼匠26 分钟前
Vue 3 的defineProps编译器宏:详解<script setup>中defineProps的使用
前端·javascript·vue.js·前端框架·ecmascript
木斯佳27 分钟前
前端八股文面经大全: 美团财务科技前端一面 (2026-04-09)·面经深度解析
前端·实习面经·前端初级
LIO30 分钟前
React 零基础入门,一篇搞懂核心用法(适合新手)
前端·react.js