python - 如何使用 Python 中的正则表达式获取最右边的字符加上双引号之间的文本

标签 python regex

我有一个包含如下内容的 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/

相关文章:

python - 特定网站不允许我从他们的页面获取链接

regex - 模式匹配提取 String Scala

ruby - 正则表达式在 ruby​​ 中返回修改后的字符串

php - 如何最好地使用正则表达式将层次结构文本文件转换为 XML?

javascript - IE 中使用 ES6 箭头函数的语法错误

python - 如何优化编辑距离代码?

python - Pandas : Cumulative sum with moving window (following and preceding rows)

python - Raspberry Pi 将 Pyaudio Wav 转换为 Flac 48000hz + Google Speech

java - Regex java正则表达式提取除最后一个数字以外的字符串

python - 在 Python 中尝试使用 OpenCV 中的 cv2.matchShapes()