我的目标字符串有多个项目,我需要匹配和检索逗号分隔的AWS区域的值:

data = '''
appname=ivr
age=2years
region='us-east-1a,us-east-2a,us-east-1c'
'''

我想在输出中将regions的值作为'us-east-1a,us-east-2a,us-east-1c'.

我试着使用这个正则表达式,但它只适用于一个不带逗号的值:

'(af|il|ap|ca|eu|me|sa|us|cn|us-gov|us-iso|us-isob)-(central|north|.       (north(?:east|west))|south|south(?:east|west)|east|west)-\d{1}'

推荐答案

你可以在正则表达式的末尾添加一个可选逗号,然后将其变成一个重复的组:

pat = r'((?:af|il|ap|ca|eu|me|sa|us|cn|us-gov|us-iso|us-isob)-(?:central|north(?:east|west)?|south(?:east|west)?|east|west)-\d+[a-z]?,?)+'

out = re.search(pat, data)
print(out.group())

输出:

us-east-1a,us-east-2a,us-east-1c

Python相关问答推荐

Gekko:Spring-Mass系统的参数识别

在Google Colab中设置Llama-2出现问题-加载判断点碎片时Cell-run失败

如何访问所有文件,例如环境变量

使用setuptools pyproject.toml和自定义目录树构建PyPi包

我如何使法国在 map 中完全透明的代码?

try 将一行连接到Tensorflow中的矩阵

优化器的运行顺序影响PyTorch中的预测

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

python中字符串的条件替换

Python列表不会在条件while循环中正确随机化'

为什么Django管理页面和我的页面的其他CSS文件和图片都找不到?'

matplotlib + python foor loop

Odoo16:模板中使用的docs变量在哪里定义?

将一个双框爆炸到另一个双框的范围内

在电影中向西北方向对齐""

如何获得3D点的平移和旋转,给定的点已经旋转?

如何使用加速广播主进程张量?

如何在SQLAlchemy + Alembic中定义一个"Index()",在基表中的列上

极点用特定值替换前n行

使用元组扩展字典的产品挑战