av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

re.sub(“。*”,“,”(replacement)“,“ text”)在Python 3.7上的替換次數翻倍

瀏覽:4日期:2022-08-07 11:56:20
如何解決re.sub(“。*”,“,”(replacement)“,“ text”)在Python 3.7上的替換次數翻倍?

這不是一個錯誤,而是來自提交fbb490fd2f38bd817d99c20c05121ad0168a38ee的Python3.7中的錯誤修復。

在正則表達式中,非零寬度的匹配將指針位置移動到匹配的末尾,以便下一個斷言(無論是否為零寬度)都可以從匹配之后的位置繼續進行匹配。因此,在您的示例中,在.*貪婪地匹配并消耗了整個字符串之后,指針隨后移至字符串末尾的事實實際上仍然為該位置的零寬度匹配留有“余地”,這可以從以下代碼,在Python2.7、3.6和3.7中的行為相同:

>>> re.findall('.*', ’sample text’)[’sample text’, ’’]

因此,該錯誤修復程序是在非零寬度匹配之后立即替換零寬度匹配,現在可以用替換文本正確替換兩個匹配。

解決方法

在Python 3.7(在Windows 64位上測試)上,使用RegEx替換字符串.*會使輸入字符串重復兩次!

在Python 3.7.2上:

>>> import re>>> re.sub('.*','(replacement)','sample text')’(replacement)(replacement)’

在Python 3.6.4上:

>>> import re>>> re.sub('.*','sample text')’(replacement)’

在Python 2.7.5(32位)上:

>>> import re>>> re.sub('.*','sample text')’(replacement)’

怎么了?如何解決?

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 在线观看亚洲专区 | 精品国产欧美日韩不卡在线观看 | 99re在线免费视频 | 成人在线一级片 | 激情91 | 国产一区二区视频免费在线观看 | 91在线网站 | 欧美亚洲在线 | 国产成人精品网站 | 99久久精品国产毛片 | 成人在线电影在线观看 | 欧美在线综合 | 欧美色偷拍 | 免费啪啪 | 精品国产一区二区三区久久狼黑人 | 国产高清免费视频 | 三级免费av | 自拍视频一区二区三区 | 99这里只有精品 | 岛国在线免费观看 | www.日韩在线 | 日韩一区二区三区精品 | 亚洲视频一区在线观看 | 亚洲综合热 | 欧美日韩国产一区 | 国产精品综合色区在线观看 | 国产一区久久精品 | 日韩精品一区二区不卡 | 久久国产精品精品 | 99热视| 国产精品久久久久久久久免费高清 | 国产91久久精品一区二区 | 成人欧美一区二区三区黑人孕妇 | 精品国产一区二区在线 | 日本高清精品 | 一级毛片免费 | 久久夜色精品国产 | 国产免费一区 | a久久 | 午夜精品久久久久久久久久久久久 | 中文字幕第7页 |