網(wǎng)站首頁 編程語言 正文
??????? 正則表達(dá)式可以匹配某些特定的數(shù)據(jù),如果你想要從龐大的文字信息中提取出一小段你需要的數(shù)據(jù),那么正則表達(dá)式或許能幫到你。
字符組
[ ]允許匹配一組可能出現(xiàn)的字符。
?可以發(fā)現(xiàn)[Pp]
既可以匹配大寫的P
也可以匹配小寫的p。
區(qū)間
1、要匹配任意數(shù)字可以使用[0-9]。
2、如果想要匹配所有小寫字母,可以寫成[a-z]。
3、想要匹配所有大寫字母可以寫成[A-Z]。
匹配特殊字符
“[]”在正則表達(dá)式命令中具有意義,如果我們想要匹配符號“[]”則需要進(jìn)行轉(zhuǎn)義即 \[] ,其他符號例如 '()' '\' 等均可實(shí)現(xiàn),其中小括號若需要 '\(\)'轉(zhuǎn)義兩次,大括號不用轉(zhuǎn)義
快捷方式
^ 在[]內(nèi)表示取反,在外表示匹配行首,寫在匹配字符前面
$ 匹配行尾,寫在匹配字符后面。
\d 數(shù)字字符,等價于[0-9]。
\w 單詞字符(字母,數(shù)字及下劃線),等價于[0-9a-zA-Z_]。
\s 空白符(tab和空格)。
\b 匹配單詞邊界。
\D\W\S\B與\d\w\s\b匹配相反。
'.'匹配除 “\n” 之外的任何單個字符。要匹配包括 ‘\n’(回車產(chǎn)生的換行)在內(nèi)的任何字符,請使用 ‘[.\n]’進(jìn)行匹配
?匹配前一個字符或字符組出現(xiàn)零次或一次,另一個作用是將貪婪模式修改為非貪婪模式。
+ 匹配前一個字符或字符組一次或多次。
* 匹配前一個字符或字符組零次或多次。
匹配多個區(qū)間
在一個字符組后加上{N} 就可以表示在它之前的字符組出現(xiàn)N次。
{M,N},M是下界而N是上界。例如\d{3,4} 既可以匹配3個數(shù)字也可以匹配4個數(shù)字,不過當(dāng)有4個數(shù)字的時候,優(yōu)先匹配的是4個數(shù)字,這是因?yàn)檎齽t表達(dá)式默認(rèn)是貪婪模式,即盡可能的匹配更多字符,而要使用非貪婪模式,我們要在表達(dá)式后面加上 ?號。
分組
() 分組。使用分組時,除了獲得整個匹配。還能夠在匹配中選擇每一個分組。
| 或者。使用分組的同時還可以是用或者條件,與“or”相同。
(?:表達(dá)式) 有時候,我們并不需要捕獲某個分組的內(nèi)容,但是又想使用分組的特性。
\N 表示可以引用與編號為N的分組相同的格式,且匹配的數(shù)據(jù)最終結(jié)果也與N相同。
先行 / 后行斷言
(?=表達(dá)式) 正向先行斷言。指在某個位置向右看,表示所在位置右側(cè)必須能匹配表達(dá)式。
(?!表達(dá)式) 反向先行斷言。指在某個位置向右看,表示所在位置右邊不能匹配表達(dá)式。
(?<=表達(dá)式) 正向后行斷言。指在某個位置向左看,表示所在位置左側(cè)必須能匹配表達(dá)式。
(?<!表達(dá)式) 反向后行斷言。指在某個位置向左看,表示所在位置左側(cè)不能匹配表達(dá)式。
例子:
提取下列數(shù)據(jù)中所有人的生日,使用兩個分組,第一個分組提取“月”,第二個分組提取“日”。
?請編寫正則表達(dá)式匹配所有的小數(shù):
?匹配8-16位密碼包含大小寫字母,數(shù)字,部分字符
?
原文鏈接:https://blog.csdn.net/weixin_52159400/article/details/125869987
相關(guān)推薦
- 2022-01-02 前端生成二維碼及把頁面轉(zhuǎn)為圖片保存到本地
- 2022-04-23 通過CSS的sticky屬性 重新回顧 position
- 2022-09-19 python正則表達(dá)式re.sub各個參數(shù)的超詳細(xì)講解_python
- 2023-10-14 c/c++--編譯指令(預(yù)處理之后) #pragma
- 2022-03-30 C語言實(shí)現(xiàn)猜數(shù)字小項(xiàng)目_C 語言
- 2022-08-19 Python?Asyncio調(diào)度原理詳情_python
- 2022-10-14 yum 倉庫管理 yum-config-manager
- 2022-12-07 python?yield迭代器詳解_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支