我有以下字符串:
schema(field1, field2, field3, field4 ... fieldn)
我需要将字符串转换为名称属性为 schema
且字段名称为另一个属性(列表)的对象。
如何在 Python 中使用正则表达式执行此操作?
最佳答案
你在找这样的东西吗?
>>> s = 'schema(field1, field2, field3, field4, field5)'
>>> name, _, fields = s[:-1].partition('(')
>>> fields = fields.split(', ')
>>> if not all(re.match(r'[a-z]+\d+$', i) for i in fields):
print('bad input')
>>> sch = type(name, (object,), {'attr': fields})
>>> sch
<class '__main__.schema'>
>>> sch.attr
['field1', 'field2', 'field3', 'field4', 'field5']
关于python - Python 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3943062/