首页 > 解决方案 > 用 re.findall 加倍斜线 - Python

问题描述

我想知道为什么 re.findall 通过在每个斜杠前面添加一个转义斜杠来返回一个字符串。我们可以强制它返回一个没有这个双斜杠的原始字符串吗?

例子

src='on <p>essia \( de faire \)</p>'
src = re.findall(r'<p>(.*?)</p>',src)
print(src)

它返回:

['essia \\( de faire \\)']

但我想返回:

['essia \( de faire \)']

标签: regexpython-3.xfindallslash

解决方案


这是因为它打印了整个列表。打印其元素以获得所需的输出。

In [1]: import re

In [2]: src='on <p>essia \( de faire \)</p>'
   ...:

In [3]: src = re.findall(r'<p>(.*?)</p>',src)

In [4]: print(src)
['essia \\( de faire \\)']

In [5]: print(src[0])
essia \( de faire \)

推荐阅读