用于提取键值的Python正则表达式

时间:2016-10-26 13:00:37

标签: python regex

我想使用正则表达式(re.compile和match)从Python中的key = value对(String)中提取值。我是Python的新手。任何帮助表示赞赏...

Ex String: [INFO] LICENSE=abcd-efgh-1234-34ki 我想要LICENSE的价值,即abcd-efgh-1234-34ki

我尝试了以下内容,但它并没有完全正常工作

license_regex = re.compile('.*LICENSE=.*?.*')
    match = license_regex.match(line)

=>打印整行。 然后我试着(.*?)!.*' =>没有打印任何东西

由于

1 个答案:

答案 0 :(得分:3)

执行:

^.*?\bLICENSE=(.*)

然后捕获的组将具有所需的部分。

  • ^.*?懒惰地匹配一个空字符串,然后是LICENSE=

  • (.*)与其他人匹配,并放入捕获的第1组

示例:

In [2]: s = '[INFO] LICENSE=abcd-efgh-1234-34ki'

In [3]: re.search(r'^.*?\bLICENSE=(.*)', s).group(1)
Out[3]: 'abcd-efgh-1234-34ki'