ai didi

python - re.sub 的输出格式错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:02:23 24 4
gpt4 key购买 nike

我希望此代码打印 "ez_setup.py" 而不是打印 "ez_setup\x01"。请有人指出我正确的方向。

In [7]: url = 'http://sourceforge.net/p/mysql-python/mysqldb-2/ci/default/tree/ez_setup.py?format=raw'
In [8]: url_split = url.split('/')
In [9]: for item in url_split:
...: if ".py" in item:
...: file_name = re.sub(r"(.py).+", "\1", item)

In [10]: file_name
Out[10]: 'ez_setup\x01'

最佳答案

您需要使用 raw-string对于 \1:

file_name = re.sub(r"(.py).+", r"\1", item)
# ^

否则,它将被解释为转义序列:

>>> '\1'
'\x01'
>>> r'\1'
'\\1'
>>>

另请注意,. 是正则表达式模式中的特殊字符。它告诉 Python 匹配任何字符(换行符除外)。我认为你打算在 py:

之前转义它
file_name = re.sub(r"(\.py).+", r"\1", item)

现在 Python 将匹配文字句点。

关于python - re.sub 的输出格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27473482/

24 4 0
文章推荐: python jinja2 : using variable in template with conditional
文章推荐: ruby-on-rails - 如何将 Twitter 搜索提要添加到我的 Ruby on Rails 应用程序?
文章推荐: html - 使 HTML 表格行与其上方的行重叠
文章推荐: c# - 为什么抽象类不能有密封方法
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com