>> [(re.sub(r'(h|N|!|N|1)',-6ren">
gpt4 book ai didi

python - 正则表达式替换Python中的列表理解

转载 作者:行者123 更新时间:2023-11-28 16:36:42 25 4
gpt4 key购买 nike

有谁知道如何在 Python 中使用列表推导式的 re.sub。

我正在使用以下内容,

>>> a = ["N","!","1","abc"]
>>> [(re.sub(r'(h|N|!|N|1)', r"'\033[91m'\g<1>'\033[0m'", 'x')) for x in a]
['x', 'x', 'x', 'x']

如您所见,我仅将 x 作为列表元素返回。

谢谢,

最佳答案

正如 Kevin 评论的那样,您没有使用 x,而是使用了字符串文字 'x':

>>> [(re.sub(r'(h|N|!|N|1)', r"'\033[91m'\g<1>'\033[0m'", x)) for x in a]
["'\x1b[91m'N'\x1b[0m'", "'\x1b[91m'!'\x1b[0m'", "'\x1b[91m'1'\x1b[0m'", 'abc']

更新

如果组成部分都是单字符串,则正则表达式可以用字符类([....])表示。

>>> [(re.sub(r'([hN!1])', r"'\033[91m'\g<1>'\033[0m'", x)) for x in a]
["'\x1b[91m'N'\x1b[0m'", "'\x1b[91m'!'\x1b[0m'", "'\x1b[91m'1'\x1b[0m'", 'abc']

关于python - 正则表达式替换Python中的列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25204911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com