正則表達(dá)式中常見(jiàn)的貪婪詞有哪些舉例詳解
1. *
- 含義:匹配前面的元素零次或者多次。
- 示例:對(duì)于正則表達(dá)式
a*,在字符串"aaaa"中,它會(huì)匹配整個(gè)"aaaa",因?yàn)樗鼤?huì)盡可能多地匹配a字符。 - 代碼示例(Python):
import re text = "aaaa" pattern = re.compile(r'a*') result = pattern.search(text) print(result.group()) # 輸出: aaaa
2. +
- 含義:匹配前面的元素一次或者多次。
- 示例:正則表達(dá)式
a+在字符串"aaaa"中,同樣會(huì)匹配整個(gè)"aaaa",不過(guò)它至少要匹配一次a字符。 - 代碼示例(Python):
import re text = "aaaa" pattern = re.compile(r'a+') result = pattern.search(text) print(result.group()) # 輸出: aaaa
3. ?
- 含義:匹配前面的元素零次或者一次。
- 示例:正則表達(dá)式
colou?r可以匹配"color"和"colour",u?表示u這個(gè)字符可以出現(xiàn)零次或者一次。 - 代碼示例(Python):
import re text1 = "color" text2 = "colour" pattern = re.compile(r'colou?r') result1 = pattern.search(text1) result2 = pattern.search(text2) print(result1.group()) # 輸出: color print(result2.group()) # 輸出: colour
4. {n,}
- 含義:匹配前面的元素至少
n次。 - 示例:正則表達(dá)式
a{2,}在字符串"aaaa"中,會(huì)匹配整個(gè)"aaaa",因?yàn)樗?nbsp;a至少出現(xiàn) 2 次。 - 代碼示例(Python):
import re
text = "aaaa"
pattern = re.compile(r'a{2,}')
result = pattern.search(text)
print(result.group()) # 輸出: aaaa5. {n,m}
- 含義:匹配前面的元素至少
n次,但不超過(guò)m次。 - 示例:正則表達(dá)式
a{2,3}在字符串"aaaa"中,會(huì)匹配前三個(gè)a,即"aaa",因?yàn)樗M量在 2 到 3 次的范圍內(nèi)進(jìn)行最大匹配。 - 代碼示例(Python):
import re
text = "aaaa"
pattern = re.compile(r'a{2,3}')
result = pattern.search(text)
print(result.group()) # 輸出: aaa貪婪字符會(huì)盡可能多地去匹配符合條件的字符,直到無(wú)法再匹配為止,因此會(huì)導(dǎo)致回溯問(wèn)題,因此在實(shí)際應(yīng)用中,應(yīng)該避免使用貪婪字符。
如果想讓貪婪字符變?yōu)榉秦澙纺J?,只需在其后加?? 即可,如:*?、+?、??、{n,}?、{n,m}?,
此模式將會(huì)盡可能少的去匹配字符,但是可能無(wú)法達(dá)到預(yù)期結(jié)果,大家酌情選擇。
總結(jié)
到此這篇關(guān)于正則表達(dá)式中常見(jiàn)的貪婪詞有哪些舉例的文章就介紹到這了,更多相關(guān)正則表達(dá)式貪婪詞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP 正則表達(dá)式驗(yàn)證中文的問(wèn)題
PHP 正則表達(dá)式驗(yàn)證中文的問(wèn)題,感覺(jué)php不支持perl轉(zhuǎn)義挺討厭的。2009-08-08
一文徹底揭秘正則表達(dá)式的基礎(chǔ)語(yǔ)法與應(yīng)用
正則表達(dá)式是程序員和數(shù)據(jù)工作者的必備技能,但復(fù)雜的語(yǔ)法常令人望而生畏,這篇文章主要介紹了正則表達(dá)式基礎(chǔ)語(yǔ)法與應(yīng)用的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-03-03
向大家推薦一個(gè)收集整理正則表達(dá)式的網(wǎng)站
向大家推薦一個(gè)收集整理正則表達(dá)式的網(wǎng)站...2007-04-04
正則表達(dá)式Regular Expression (RegExp)詳解
正則表達(dá)式,又稱(chēng)正規(guī)表示式、正規(guī)表示法、正規(guī)表達(dá)式、規(guī)則表達(dá)式、常規(guī)表示法(英語(yǔ):Regular Expression,在代碼中常簡(jiǎn)寫(xiě)為regex、regexp或RE2015-11-11
用正則表達(dá)式批量為a增加target=''''_blank''''新窗口打開(kāi)的方法
今天在制作模板的時(shí)候,發(fā)現(xiàn)一些頁(yè)面不是新窗口打開(kāi),有時(shí)候一些內(nèi)容新窗口打開(kāi)好些,本來(lái)打算手工替換的,發(fā)現(xiàn)了太多,還是正則比較方便一些2013-12-12
使用正則表達(dá)式替換報(bào)表名稱(chēng)中的特殊字符(推薦)
正則表達(dá)式,又稱(chēng)規(guī)則表達(dá)式。這篇文章給大家介紹了使用正則表達(dá)式替換報(bào)表名稱(chēng)中的特殊字符,及Java正則表達(dá)式替換所有特殊字符的方法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-11-11

