亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:6日期: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 編程
相關文章:
主站蜘蛛池模板: 免费在线黄色网址 | 久久99精品国产99久久 | 亚洲欧美高清在线 | 国产成人av性色在线影院 | 亚洲国产精品视频在线观看 | 亚洲午夜国产精品无卡 | 日韩一区二区在线视频 | 香蕉视频在线视频 | 日韩一区二区视频在线观看 | 亚洲精品久久久久午夜 | 中文精品爱久久久国产 | 国产一级大片 | 黄色视频一级毛片 | 黄在线网站 | 精品综合久久久久久97超人 | 久久青草免费97线频观 | 亚洲欧美日韩一区超高清 | 在线国产一区 | 午夜色大片在线观看 | 国产又色又爽又黄又刺激18 | 日本免费毛片 | 欧美人的性视频 | 日韩免费一级毛片欧美一级日韩片 | 思思九九| 伊人久久综合网站 | 美国毛片免费看 | 拍拍拍无挡视频免费全程1000 | 色婷婷久久综合中文久久一本` | 在线视频综合视频免费观看 | 黄色一级视频免费看 | 麻豆视频观看 | 精品国产高清自在线一区二区三区 | 亚洲欧美精品中字久久99 | 黄色一级片在线 | 亚洲日本国产 | 91精品国产综合久久久久久 | 黑人解禁在线观看 | 国产精品密播放国产免费看 | 麻豆视频在线看 | 国产大片免费天天看 | 偷亚洲偷国产欧美高清 |