这个问题是关于'?'的操作。在我之前的问题中,有人错误地将我的问题标记为重复。所以我重新打开这个问题,要求答案。Python的正则表达式?操作:是否有返回首选项,0或1?
我想问为什么第一个表达式不会从字符串“axxxxxbcd”输出('a','b','c','d')。
import re
match = re.findall(r'(a).*?(b)?.*?(c)?(d)','awsssd axxxxxbcd ad adfdfdcdfdd
awsbdfdfdcd')
print (match)
输出[1]:[( '一个', '', '', 'd'),( '一个', '', 'C', 'd'),( 'A' , '', '', 'd'),( '一个', '', '', 'd'),( '一个', '', '', 'd')]
import re
match = re.findall(r'(a).*?(b)?(c)?(d)','awsssd axxxxxbcd ad adfdfdcdfdd awsbdfdfdcd')
print (match)
output [2]:[('a','','','d'),('a','b','c','d'),('a','','' ”, 'd'),( '一个', '', '', 'd'),( 'A', 'b', '', 'd')]
@Isaac
你可能想看看https://regex101.com/ –