以下是要解析的相关数据:
alternateClassName: 'FutureSurvey',
alternateClassName: ['HardwareSurvey'],
alternateClassName: ['OptimismSurvey', 'OptimismSurveyTwo']
这是我的正则表达式:
alternate_regex = re.compile('.*?alternateClassName\s*:\s*(\[\s*(.*?)\s*\]|[\'\"]\s*(.*?)\s*[\'\"]).*', re.M)
这是我的代码:
alternate_match = alternate_regex.match(line)
if alternate_match and alternate_match.group and alternate_match.group(1):
alternateList = alternate_match.group(1).strip().split(',')
print alternateList
dependent_mapping[classpathTxt]['alternateList'] = alternateList
以下是打印的内容:
["'FutureSurvey'"]
["['HardwareSurvey']"]
["['OptimismSurvey',", "'OptimismSurveyTwo']"]
我原本预料到了这一点:
['FutureSurvey']
['HardwareSurvey']
['OptimismSurvey', 'OptimismSurveyTwo']
任何人都知道发生了什么事?
答案 0 :(得分:1)
您的.strip()
没有做任何事情,因为它没有参数。而是将其替换为.strip("'")
>>> x = "'hello'"
>>> x.strip()
"'hello'"
>>> x.strip("'")
'hello'
>>>