正則表達式學習筆記2
3.匹配數(shù)量
字符一:*
匹配零個或一個以上的字符
例如文本:ab abc abcc abccc
輸入:abc*
結果:ab?abc abcc abccc
字符二:+
匹配一個或一個以上的字符
例如文本:ab?abc abcc abccc
輸入:abc+
結果:abc abcc abccc
字符三:?
匹配零個或一個的字符
例如文本:ab?abc abcc abccc
輸入:abc?
結果:ab abc
字符四:{ }
限制匹配字符范圍(數(shù)字可自擬)
{0,}等價*
{1,}等價+
{0,1}等價?
例如文本:ab?abc abcc abccc
輸入:abc{0,}
結果:ab?abc abcc abccc
(其他同理)
字符五:?
加在上述字符后從貪婪模式(匹配最多字符)轉化為懶惰模式(匹配最少字符)
例如加?
文本:abbbbbabbbbba
輸入:ab.*?a
結果:abbbbba
例如不加?
文本:abbbbbabbbbba
輸入:ab.*a
結果:abbbbbabbbbba
4.匹配邊界
字符一:\b
單詞邊界
例如文本:(content) contentabc
輸入:\bcontent\b
結果:content
(\b加在左邊匹配左邊界,右邊同理)
字符二:^
匹配左邊界(文本開頭)
例如文本:abccontest contest
輸入:^contest
結果:無結果
例如文本:abccontest contest
輸入:^abccontest
結果:abccontest
字符三:$
匹配有邊界(文編結尾)
例如文本:contest contestcba
輸入:contest$
結果:無結果
例如文本:contest?contestcba
輸入:contestcba$
結果:contestcba
(可以用來檢測開頭或結尾的空行或特定字符)
字符三:(?m)
分行匹配(部分語言不支持)
例如不加(?m)
文本:
abc
abcc
abccc
輸入:^ab*
結果:abc
例如加(?m)
文本:
abc
abcc
abccc
輸入:(?m)^ab*
結果:abc abcc abccc
學習教程來源:BV1xW4y1X7Es