gpt4 book ai didi

python - 使用正则表达式反向引用创建数组

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

我不确定用一句话概括标题的最佳方式,因此如有必要,请对其进行编辑以使其更清楚。

我有一个格式的字符串列表(从网页解析)

"\tLocation\tNext Available Appointment: Date\n"

我想把它变成一个列表列表,每个列表都有格式

["Location", "Date"]

我知道我会使用什么正则表达式,但我不知道如何使用结果。

(作为引用,这里是可以找到我想要的内容的正则表达式。)

^\t(.*)\t.*: (.*)$

我找到了如何将正则表达式与文本进行匹配,但没有找到如何将结果提取到其他内容。不过,我是 Python 的新手,所以我承认我在搜索时可能遗漏了一些东西。

最佳答案

您可以使用 re.findall()列表理解中的函数:

import re
[re.findall(r'^\t(.*)\t.*: (.*)$',i) for i in my_list]

例如:

>>> my_list=["\tLocation\tNext Available Appointment: Date\n","\tLocation2\tNext Available Appointment: Date2\n"]
>>> [re.findall(r'^\t(.*)\t.*: (.*)$',i) for i in my_list]
[[('Location', 'Date')], [('Location2', 'Date2')]]

您还可以将 re.search()groups() 方法一起使用:

>>> [re.search(r'^\t(.*)\t.*: (.*)$',i).groups() for i in my_list]
[('Location', 'Date'), ('Location2', 'Date2')]

请注意,此处 re.search 的优点是您将获得一个元组列表,而不是元组列表的列表(使用 findall())。

关于python - 使用正则表达式反向引用创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30506746/

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