Python 带*的非贪婪匹配^
给定字符串:Python 带*的非贪婪匹配^,python,regex,placeholder,regex-greedy,non-greedy,Python,Regex,Placeholder,Regex Greedy,Non Greedy,给定字符串: s = "Why did you foo bar a <b>^f('y')[f('x').get()]^? and ^f('barbar')^</b>" 我试过re.sub('^.*^',PLACEXHOLDER',s)但是.*是贪婪的,它匹配,^f('y')[f('x').get()]^?和^f('barbar')^,并输出: 你为什么去酒吧 可以有多个未知数字的子字符串由\^编码,因此不需要硬编码: re.sub('(\^.+\^).*(\^.*\^)
s = "Why did you foo bar a <b>^f('y')[f('x').get()]^? and ^f('barbar')^</b>"
我试过re.sub('^.*^',PLACEXHOLDER',s)
但是.*
是贪婪的,它匹配,^f('y')[f('x').get()]^?和^f('barbar')^
,并输出:
你为什么去酒吧
可以有多个未知数字的子字符串由\^
编码,因此不需要硬编码:
re.sub('(\^.+\^).*(\^.*\^)', 'PLACEXHOLDER', s)
如果你在星星后面加一个问号,它将使它不贪婪
\^.*?\^
为什么要禁用a^f('y')[f('x')。get()]^?和^f(‘芭芭拉’)^
适当地代替
你为什么要把一个地方屏蔽掉?和PLACEXHOLDER
如果在星号后添加问号,则会使其不贪婪
\^.*?\^
为什么要禁用a^f('y')[f('x')。get()]^?和^f(‘芭芭拉’)^
适当地代替
你为什么要把一个地方屏蔽掉?和PLACEXHOLDER
Why did you foo bar a <b>^f('y')[f('x').get()]^? and ^f('barbar')^</b>
Why did you foo bar a <b>PLACEXHOLDER? and PLACEXHOLDER</b>