python - 如何创建一个正则表达式来查找某些字符集之间的所有文本片段?
问题描述
我有一个看起来像“E10 1/05/03 2/3211 3/AO Yuzhmor”的字符串。我需要提取的部分如下' \d\/'
:
1) 05/03
2) 3211
3) AO Yuzhmor
我最后的想法是' \d\/(.*?)(?=(( \d\/)|\Z))'
但它仍然无法在最后一块上正常工作(|\Z 指令似乎没有做任何事情)。
解决方案
这可能很棘手,因为我们不知道如何构建这些字符串的所有规则。一种选择是使用您的正则表达式来拆分字符串
>>> re.split(r" \d/", 'E10 1/05/03 2/3211 3/AO Yuzhmor')[1:]
['05/03', '3211', 'AO Yuzhmor']
另一个是对字段更具体,假设它们总是“1/”、“2/”和“3/”
>>> re.match(r".*?1/(.*?) 2/(.*?) 3/(.*)", 'E10 1/05/03 2/3211 3/AO Yuzhmor').groups()
('05/03', '3211', 'AO Yuzhmor')
推荐阅读
- javascript - Cropper.js, PHP/Laravel 上传图片,无需 Ajax
- excel - 如何强制 Excel 用户窗体处于活动/接收窗口
- postgresql - 更新 jsonb 设置新值从同一个表中选择
- css - 实现 3 张图片精确大小的 CSS
- ios - 如何用 Swift 计算人生日的天数?
- android - 将请求分成 1 MB 的块(和 cursor.close())后仍然会发生 SQLiteBlobTooBigException
- android - 创建通知有什么区别
- c# - foreach 中嵌套 foreach 之后的代码未按预期执行
- javascript - Javascript中的视频播放器卡在隐藏/显示圈?
- sql - 从一个表中获取时间戳(显示在不同的行上)并将其显示在我的查询中