正規表示式的數量詞

2021-06-09 21:53:20 字數 1343 閱讀 7989

greedy 數量詞x?

x,一次或一次也沒有x*

x,零次或多次x+

x,一次或多次

xx,恰好 n 次

xx,至少 n 次

xx,至少 n 次,但是不超過m 次

reluctant 數量詞x??

x,一次或一次也沒有x*?

x,零次或多次x+?

x,一次或多次x?

x,恰好 n 次x?

x,至少 n 次x?

x,至少 n 次,但是不超過m 次

possessive 數量詞x?+

x,一次或一次也沒有x*+

x,零次或多次x++

x,一次或多次x+

x,恰好 n 次x+

x,至少 n 次x+

x,至少 n 次,但是不超過m 次

greedy數量詞:表示「貪婪的」數量詞,當進行匹配時,先把整個字串吞進去。如果和正規表示式不匹配的,再從右邊把不符合的乙個個吐出來。

public class qulifiers [0-9]");

matcher m=p.matcher("aaaa6bbbb4");

if(m.find())else

}

reluctant 數量詞:(少用)表示「懶惰」的數量詞,與greedy相反。當進行匹配時,先從最小的條件開始匹配。若匹配,則吞入字元,直到滿足正規表示式為止,終止匹配。

public class qulifiers ?[0-9]");

matcher m=p.matcher("aaaa6bbbb4");

if(m.find())else

}}

prossessive數量詞:(少用)與greedy相似。也是先吞入全部字元。如果和正規表示式不匹配,則不會往外吐。

public class qulifiers +[0-9]");

matcher m=p.matcher("aaaa6bbbb4");

if(m.find())else

}}

"aaaa6bbbb4"剛好和給定的正規表示式"."匹配,此時不會往外吐(和greedy不同),[0-9]則沒有字元和他匹配。

public class qulifiers +[0-9]");

matcher m=p.matcher("aaaa6bbbb4");

if(m.find())else

}}

reluctant 數量詞reluctant 數量詞reluctant 數量詞reluctant 數量詞reluctant 數量詞

正規表示式中數量詞的貪婪和非貪婪

在使用各種數量詞時,正規表示式總是匹配盡可能多的復合規則的字元,知道允許匹配的上限。例如,在使用表示式 bo 匹配 booooo 時,會得到匹配結果 booooo 而不是匹配 bo 例如,在使用表示式 bo 匹配 booooo 時,會先匹配 booooo 發現不匹配,則去掉末尾的 o 匹配 booo...

關於正規表示式數量詞的貪婪與非貪婪模式

在匹配正則的時候或許會遇到返回的結果多幾個字元或者少幾個字元,什麼原因呢,這個就是正則的貪婪與非貪婪模式,假設,我的匹配字元是 a asdf444adfadf adfsadf 正規表示式的貪婪模式 a z 列印結果 asdf adfadf adfsad 按原理來說在匹配到第二個字元的時候條件就已經滿...

正規表示式量詞

量詞什麼是量詞 出現的次數 至少出現n次,最多出現m次 例子 查詢qq號 常用量詞 至少n次 任意次 零次或一次 一次或任意次 正好n次 var oinput document.getelementsbytagname input 1 9 qq號第一位為1 9之間的數字 在正則的最開始位置,就代表起...