python - Python 中的正则表达式

标签 python regex string

我有以下字符串:

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/

相关文章:

python - 使用 matplotlib 在不同图(无子图)之间链接轴

python - 当我的 Mac 使用 python 2.7 时,为什么 Python.h 在我的/usr/local/python2.6 文件夹中?

java - 如何获得 .* 在正则表达式中匹配的内容?

在在线正则表达式测试人员中工作时,正则表达式无法在 Angular Validators.pattern() 中工作

r - 如何根据组内的子字符串匹配两个数据框

c - g_array_sort 不适用于字符串

string - If 语句匹配包含双引号的字符串

python - 使用 numpy 数组和元组保持每个元素出现一次的快速方法

python - 获取失败的 django-celery 任务的参数

javascript - 用于提取 HTML 标签子元素的正则表达式?