我有一个脚本python,可以获取环境变量字符串并拆分为变量和值。
使用 python 拆分非常容易:
export_str = 'VAR1=VALUE1 VAR2=VALUE2'
for var_value in export_str.split(' '):
var,value=var_value.split('=')
print var, value
但问题是变量可能更复杂。
export_str = ''' VAR1="VALUE1 OTHER VALUE" VAR2=VALUE2 VAR3=VALUE_3 VAR4="${VALUE5}=VALUE6"'''
在这种情况下,python脚本是错误的。
有没有更好的方法来拆分这些变量?
编辑
或更复杂的情况,例如:
export_str = '''VAR5="VALUE'5" VAR6='VALUE"6' VAR7='VALUE7' '''
您可以使用
re
进行拆分。
import re
export_str = 'VAR1="VALUE1 OTHER VALUE" VAR2=VALUE2 VAR3=VALUE_3 VAR4="${VALUE5}=VALUE6"'
re.split(r's(?=(?:[^"]*"[^"]*")*[^"]*$)',export_str)
请参阅演示。
https://regex101.com/r/uE6jQ1/7