正則表達(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()) # 輸出: aaaa
5. {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)文章
js處理網(wǎng)頁(yè)編輯器轉(zhuǎn)義、去除轉(zhuǎn)義、去除HTML標(biāo)簽的正則
這篇文章主要介紹了富文本編輯器生成的HTML標(biāo)簽,進(jìn)行轉(zhuǎn)義,然后寫(xiě)入數(shù)據(jù)庫(kù),防止腳本注入,需要的朋友可以參考下2020-02-02js用正則表達(dá)式控制價(jià)格輸入實(shí)現(xiàn)代碼
js用正則表達(dá)式控制價(jià)格輸入實(shí)現(xiàn)代碼,主要是限制用戶的輸入。2011-11-11js判斷是否有6個(gè)連續(xù)數(shù)字的字符串的正則
js判斷是否有6個(gè)連續(xù)數(shù)字的字符串的正則2009-09-09