原文符號
因為?在正規表示式中有特殊的含義,所以如果想匹配?本身,則需要轉義,\?
有無量詞
問號可以表示重複前面內容的0次或一次,也就是要麼不出現,要麼出現一次。
非貪婪匹配
貪婪匹配
在滿足匹配時,匹配盡可能長的字串,預設情況下,採用貪婪匹配
string pattern1 =www.cppcns.com @"a.*c"; // greedy match
regex regex = new regex(程式設計客棧pattern1);
regex.match("abcabc"); // return "abcabc"
非貪婪匹配
在滿足匹配時,匹配盡可能短的字串,使用?來表示非貪婪匹配
string pattern1 = @"a.*?c"; // non-greedy match
regex regex = new regex(pattern1);
regex.match("abcabc"); // return "abc"
幾個常用的非貪婪匹配pattern
*? 重複任意次,但盡可能少重複
+? 重複1次或更多次,但盡可能少重複
?? 重複0次或1次,但盡可能少重複
? 重複n到m次,但盡可能少重複
? 重複n次以上,但盡可能少重複
不捕捉模式
如何關閉圓括號的捕獲能力?而只是用它來做分組,方法是在左括號的後邊加上riqaiu:?,這裡第乙個圓括弧只是用來分組,而不會占用捕獲變數,所以$1的內容只www.cppcns.com能是steak或者burger,而永遠不可能是br程式設計客棧onto。
while(<>)
}本文標題: 正規表示式問號的四種用法詳解
本文位址:
正規表示式 問號的四種用法
因為?在正規表示式中有特殊的含義,所以如果想匹配?本身,則需要轉義,問號可以表示重複前面內容的0次或一次,也就是要麼不出現,要麼出現一次。在滿足匹配時,匹配盡可能長的字串,預設情況下,採用貪婪匹配 string pattern1 a.c greedy matchregex regex new reg...
正規表示式 問號的四種用法
因為?在正規表示式中有特殊的含義,所以如果想匹配?本身,則需要轉義,問號可以表示重複前面內容的0次或一次,也就是要麼不出現,要麼出現一次。在滿足匹配時,匹配盡可能長的字串,預設情況下,採用貪婪匹配 string pattern1 a.c greedy matchregex regex new reg...
正規表示式 問號的四種用法
因為?在正規表示式中有特殊的含義,所以如果想匹配?本身,則需要轉義,問號可以表示重複前面內容的0次或一次,也就是要麼不出現,要麼出現一次。在滿足匹配時,匹配盡可能長的字串,預設情況下,採用貪婪匹配 string pattern1 a.c greedy matchregex regex new reg...