在匹配词之后提取括号内的所有文本,它发生的所有时间

k.赛博格

我需要解析一个字符串,但我还没有想出使用正则表达式的方法。

我需要解析的字符串是:

string_to_parse= "Authorizations(authorizations=[Authorization(hash=XXXX, device_model='PC 64bit', platform='Android', system_version='10', api_id=XXXXX, app_name='XXXX', app_version='1.22.0', date_created=datetime.datetime(2021, 7, 10, 7, 15, 15, tzinfo=datetime.timezone.utc), date_active=datetime.datetime(2021, 7, 16, 18, 1, 36, tzinfo=datetime.timezone.utc), ip='999.999.999.999', country='XXX, Russia', region='', current=True, official_app=False, password_pending=False), Authorization(hash=XXXX, device_model='PC 64bit', platform='', system_version='Windows 10', api_id=XXX, app_name='XXXX', app_version='2.8.9', date_created=datetime.datetime(2021, 6, 20, 23, 27, 5, datetime.timezone.utc), date_active=datetime.datetime(2021, 7, 16, 17, 15, 14, tzinfo=datetime.timezone.utc), ip='999.999.999.999', country='XXXX, Russia', region='', current=False, official_app=True, password_pending=False)])

我想Authorization( 的所有实例之后获取() 中的所有文本,并将其放入列表中。结果将类似于:

list[0]= "(hash=XXXX, device_model='PC 64bit', platform='Android', system_version='10', api_id=XXXXX, app_name='XXXX', app_version='1.22.0', date_created=datetime.datetime(2021, 7, 10, 7, 15, 15, tzinfo=datetime.timezone.utc), date_active=datetime.datetime(2021, 7, 16, 18, 1, 36, tzinfo=datetime.timezone.utc), ip='999.999.999.999', country='XXX, Russia', region='', current=True, official_app=False, password_pending=False)"

list[1] = "(hash=XXXX, device_model='PC 64bit', platform='', system_version='Windows 10', api_id=XXX, app_name='XXXX', app_version='2.8.9', date_created=datetime.datetime(2021, 6, 20, 23, 27, 5, datetime.timezone.utc), date_active=datetime.datetime(2021, 7, 16, 17, 15, 14, tzinfo=datetime.timezone.utc), ip='999.999.999.999', country='XXXX, Russia', region='', current=False, official_app=True, password_pending=False)"

我怎样才能实现它?

Ajax1234

您可以使用re.findall

import re
print(re.findall('(?<=Authorization)\(.*?\)', string_to_parse))

输出:

["(hash=XXXX, device_model='PC 64bit', platform='Android', system_version='10', api_id=XXXXX, app_name='XXXX', app_version='1.22.0', date_created=datetime.datetime(2021, 7, 10, 7, 15, 15, tzinfo=datetime.timezone.utc)", "(hash=XXXX, device_model='PC 64bit', platform='', system_version='Windows 10', api_id=XXX, app_name='XXXX', app_version='2.8.9', date_created=datetime.datetime(2021, 6, 20, 23, 27, 5, datetime.timezone.utc)"]

正则表达式解释:

(?<=Authorization)=> 正向后视:对于要匹配的后续表达式,Authorization必须在它之前。

\(.*?\)=> 匹配(之间的任何字符块)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

获取所有时间的总和

如何在指定的时间戳记之后获取所有时间戳记?

如何从字典中选择所有时间以及时间发生点的名称?

匹配两个时间码之间的所有时间码

如何从数据库中获取与发布时间匹配的所有时间?

选择所有具有时间格式的列

向文本文件中的所有时间戳添加5秒

向文本文件中的所有时间戳添加小时

本机传输请求所有时间都被阻止

最少访问所有时间点:理解

总结字典中的所有时间增量值

提取两个匹配词之间的所有词

提取所有括号之间的文本

获取所有数字除以除数和余数的所有时间的列表

将名称和时间数据从(每次内的名称)到(每个名称的所有时间)

通过删除括号内的所有文本

如何将时间值与熊猫列中的所有时间值进行比较?

Android和SQLite-选择2个日期时间之间的所有时间

打印两个时间戳之间的所有时间戳

更改日期以在少于时间戳的所有时间创建一列

用参数显示两个不同时间之间的所有时间

gcp监视“违反任何时间序列”与“违反所有时间序列”

Timepicker - 禁用当前服务器时间之前的所有时间段

如何获得开始和结束时间范围之间的所有时间?

如何更新具有条件的表的所有时间戳?

如何选择所有没有时间戳和日期类型的列?

GitHub API通过带有时间戳的用户ID查找所有提交

如何找到其他行之间具有时间值的所有行?

当我的所有时间戳都是 UTC 时,如何查询“昨天,在我的时区”