網站首頁 編程語言 正文
1、re.match()的用法
re.match()方法是從起始位置開始匹配一個模式,匹配成功返回一個對象,未匹配成功返回None。
語法:
re.match(pattern, string, flags=0)
參數說明:
- pattern:匹配的正則表達式;
- string:要匹配的字符串;
- flags:標志位,用于控制正則表達式的匹配方式,如:是否區分大小寫,多行匹配等等;
示例如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
if __name__ == '__main__':
# 匹配模式
test_pattern = r"\d{2}年"
# 待匹配的字符串
test = "18年2019年2020年"
print(re.match(test_pattern, test).group())
輸出:
18年
Process finished with exit code 0
若將匹配模式改成:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
if __name__ == '__main__':
# 匹配模式
test_pattern = r"\d{4}年"
# 待匹配的字符串
test = "18年2019年2020年"
print(re.match(test_pattern, test))
則返回結果為:
None
Process finished with exit code 0
這是因為re.match()僅從頭開始匹配,由于起始位置處未找到符合匹配模式的內容,返回None。
2、re.search()的用法
re.search()方法是掃描整個字符串內進行模式匹配,只要找到第一個匹配就返回,如果字符串沒有匹配,則返回None。
語法:
re.search(pattern, string, flags=0)
參數說明:
- pattern:匹配的正則表達式;
- string:要匹配的字符串;
- flags:標志位,用于控制正則表達式的匹配方式,如:是否區分大小寫,多行匹配等等;
示例如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
if __name__ == '__main__':
# 匹配模式
test_pattern = r"\d{4}年"
# 待匹配的字符串
test = "18年2019年2020年"
print(re.search(test_pattern, test).group())
輸出:
2019年
Process finished with exit code 0
這是因為re.search()掃描整個字符串,找到符合匹配模式的第一個匹配就返回了。
3、re.match()與re.search()的區別
re.match()方法要求必須從字符串的開頭進行匹配,如果字符串開頭不符合模式規則,整個匹配就失敗了,函數返回None;
re.search()并不要求必須從字符串的開頭進行匹配,而是掃描整個字符串,直到找到第一個匹配。
原文鏈接:https://blog.csdn.net/kevinjin2011/article/details/125598411
相關推薦
- 2022-03-19 Docker之自定義網絡實現_docker
- 2022-11-11 Go?time包AddDate使用解惑實例詳解_Golang
- 2022-06-12 python數據處理詳情_python
- 2023-01-31 利用Rust編寫一個簡單的字符串時鐘_Rust語言
- 2022-07-02 element-ui及時清除驗證規則
- 2023-10-15 歸并排序三種常見寫法
- 2022-07-06 使用GO操作MongoDB的方法_Golang
- 2022-04-11 android?ViewPager實現一個無限輪播圖_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支