Yas*_*ifa 1 python regex string
我有以下字符串:
schema(field1, field2, field3, field4 ... fieldn)
Run Code Online (Sandbox Code Playgroud)
我需要将字符串转换为name属性为的对象,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']
Run Code Online (Sandbox Code Playgroud)