一、定義
正則表達式中的“+”代表匹配前一個字符出現1次或多次。
import re
pattern = r"ab+"
string = "abb ab abbb a"
result = re.findall(pattern, string)
print(result)
運行結果:[‘abb’, ‘ab’, ‘abbb’]
二、基本使用方式
使用“+”去匹配前面的字符,如果前面的字符有n個,則匹配到的結果中這個字符的數量為n個或者n個以上。
import re
pattern = r"a+b+"
string = "abb ab abbb a"
result = re.findall(pattern, string)
print(result)
運行結果:[‘abb’, ‘ab’, ‘abbb’, ‘a’]
三、與其他元字符結合使用
“+”還可以與其他元字符結合使用,如“.”、“*”等。
例如:使用“+”和“.”,則匹配任意一個字符出現1次或以上。
import re
pattern = r".+"
string = "abcde"
result = re.findall(pattern, string)
print(result)
運行結果:[‘abcde’]
四、貪婪匹配和非貪婪匹配
在匹配的時候,“+”默認是貪婪匹配,即它會儘可能多的匹配滿足條件的字符。
import re
pattern = r"ab+"
string = "abb ab abbb a"
result = re.findall(pattern, string)
print(result)
運行結果:[‘abb’, ‘ab’, ‘abbb’]
如果想要進行非貪婪匹配,需要在“+”後面加上“?”。
import re
pattern = r"ab+?"
string = "abb ab abbb a"
result = re.findall(pattern, string)
print(result)
運行結果:[‘ab’, ‘ab’, ‘ab’]
五、小結
在使用正則表達式時,“+”是一個重要的元字符,可以幫助我們快速匹配滿足條件的字符串。在使用時,需要注意區分貪婪匹配和非貪婪匹配的區別。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/156986.html