python re 使用非捕获组来忽略第一个value的匹配结果

import re

text = " value='1',value='2',value='3' "

pattern = r"(?:value='\d+',){2}value='(\d+)'"

match = re.search(pattern, text)
print(match.group(1))

python re 使用非捕获组来忽略第一个value的匹配结果_第1张图片

 

其中,(?:...)表示非捕获组,{1}表示匹配前面的模式一次。该正则表达式的含义是:匹配以value='开头的字符串,后面跟着一个或多个数字,然后是逗号(,),这个模式重复一次,接着是另一个以value='开头的字符串,后面跟着一个或多个数字。

在这个正则表达式中,第一个value的匹配结果被忽略,只有第二个value的匹配结果会被捕获。因此,如果对于字符串value='1',value='2'应用该正则表达式进行匹配,就可以得到一个捕获组的值为2,即第二个value的值。

你可能感兴趣的:(#,python,python)