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

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

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

瀏覽:3日期: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 編程
相關文章:
主站蜘蛛池模板: 亚洲欧美日韩另类 | 午夜亚洲精品 | 亚洲国产精品网站 | 国产一区二区在线观看视频 | 成人三级在线观看 | 亚洲黄色在线 | 国产免费无遮挡 | 天天拍天天干 | 精品在线看| 中文字幕免费在线观看 | 伊人在线视频 | 五月婷色 | 日韩一二三 | 四虎色播 | 国产日韩精品在线 | 成人免费公开视频 | 麻豆一区二区三区四区 | 天堂在线www | 日韩一区在线播放 | 中文字幕黄色片 | 亚色网站 | 91久久精品视频 | 亚洲永久精品视频 | 黄色高清网站 | 欧美区在线| 免费性视频 | 成人特级毛片 | 神马午夜久久 | 亚洲av毛片成人精品 | 亚洲网站在线 | 一二三四区在线观看 | 好色婷婷 | 精品一区久久 | 人人干人人看 | 亚洲 欧美 综合 | 在线观看av的网站 | 91精品91久久久中77777 | 欧美视频三区 | 国产麻豆xxxvideo实拍 | 中国特级毛片 | 天天草天天干 |