亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

瀏覽:2日期: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 編程
相關文章:
主站蜘蛛池模板: 欧美色操 | 成人免费视频网址 | 亚洲 欧美 中文字幕 | 精品日韩一区二区三区 | 欧美精品国产一区二区三区 | 亚洲成人7777| 韩国一级特黄清高免费大片 | 一级特级欧美aaaaa毛片 | 男女福利社 | 亚洲国产成a人v在线观看 | 欧美三级成版人版在线观看 | 久久日本三级韩国三级 | 欧美日韩国产片 | 日韩免费一级毛片欧美一级日韩片 | 国产亚洲精品一区二区 | 美女一级毛片免费不卡视频 | hd欧美xxx欧美极品hd | 九九99香蕉在线视频免费 | 国产成人久久久精品一区二区三区 | 伊人久久在线视频 | 一级欧美| 日本高清专区一区二无线 | 步兵一区二区三区在线观看 | 日韩国产欧美精品综合二区 | 久久久久久一品道精品免费看 | 久久加勒比 | 欧美国产在线一区 | 白嫩美女直冒白浆 | 国产视频自拍偷拍 | 亚洲成a v人片在线看片 | 草草影院视频 | 亚洲精品一区专区 | 日韩高清欧美 | 日韩美女强理论片 | 日韩一区二区精品久久高清 | 在线国产高清 | 久久久久久久久久久观看 | 老色99久久九九精品尤物 | 亚洲第一黄色网 | 日本高清专区一区二无线 | 久久免费精彩视频 |