因為?在正規表示式中有特殊的含義,所以如果想匹配?本身,則需要轉義,\?
問號可以表示重複前面內容的0次或一次,也就是要麼不出現,要麼出現一次。
在滿足匹配時,匹配盡可能長的字串,預設情況下,採用貪婪匹配
string pattern1 = @"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"
如何關閉圓括號的捕獲能力?而只是用它來做分組,方法是在左括號的後邊加上:?,這裡第乙個圓括弧只是用來分組,而不會占用捕獲變數,所以$1的內容只能是steak或者burger,而永遠不可能是bronto。
while(<>)
} zdd
出處:
正規表示式 問號的四種用法
因為?在正規表示式中有特殊的含義,所以如果想匹配?本身,則需要轉義,問號可以表示重複前面內容的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...