我有一个包含如下内容的 python 列表:
['"Some-text" {12345-ab123-cd456}', '"Some-Another-text2" {54321-ab123-cd456}]'
我希望得到的结果是:
text, 12345-ab123-cd456
text2, 54321-ab123-cd456
到目前为止,我已经设法使用 re 模块从 {} 获取信息:
re.compile(r'.*{(.*)}
我想要做的是在双引号内的“-”之后获取最右边的文本,添加逗号并获取大括号内的信息。我可以一步完成所有这些吗?在一个正则表达式中?或者最好的方法是什么?
最佳答案
import re
lst = ['"Some-text" {12345-ab123-cd456}', '"Some-Another-text2" {54321-ab123-cd456}]']
regexp = re.compile(r'"\s*.+-(\S+)\s*"\s+{\s*(\S+)\s*}')
for i in lst:
line = re.match(regexp, i)
if line:
print line.group(1) + ", " + line.group(2)
输出:
text, 12345-ab123-cd456
text2, 54321-ab123-cd456
关于python - 如何使用 Python 中的正则表达式获取最右边的字符加上双引号之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27680338/