
[英]Parse a string of mixed comma and hyphen separated digits to return a sorted list of numbers
[英]filter list based on string pattern of hyphen separated values
我有一个不同格式的字符串列表。 其中一些以连字符分隔的日期时间开头,后跟由 16 个字母组成的字符串。 我只想过滤符合这种格式的字符串。 我在下面提供了输入和输出示例。 我不是正则表达式专家,有人可以建议一种巧妙的方法来使用 python 吗?
输入:
example_list=['2022-05-05-16-59-25-5840ZQ37F231D95W',
'wereD/22fdas/',
'mnkljlj/124kljf/oaahreljah',
'2022-09-11-16-59-25-5840XY37F231D95Z']
output:
['2022-05-05-16-59-25-5840ZQ37F231D95W',
'2022-09-11-16-59-25-5840XY37F231D95Z']
更新:
将下面的建议与 re.match 和列表理解一起使用效果很好,谢谢!
import re
[x for x in example_list if re.match("^\d{4}(-\d\d){5}-[A-Z\d]{16}$",x)]
尝试这个:
^\d{4}(-\d\d){5}-[A-Z\d]{16}$
查看现场演示。
正则表达式细分:
^
输入开始\d{4}
4 位数字(-\d\d){5}
5 个破折号,然后是 2 个数字[AZ\d]{16}
16 个大写字母或数字$
输入结束
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.