给定一个 python 中的模式匹配

问题描述 投票:0回答:1

通用格式 -

"Axis(Angle),Axis(Angle),Axis(Angle)....."

A = “X(90), Y(180), X(90)”   

在上面的输入中,我想检查我的输入A是否符合一般语法。

需要 Python 方面的帮助。

我什么都想不了

python arrays string string-matching
1个回答
0
投票

你需要一个像

[XYZ]\(\d{1,3}\)(,\s*[XYZ]\(\d{1,3}\))*

这样的正则表达式

它匹配一个轴符号(适应

XYZ
列表)然后是括号中的3位数字,然后是任何数量的相同内容,前面有逗号和可能的空格

A = "X(90), Y(180), X(90)"

if re.fullmatch("[XYZ]\(\d{1,3}\)(,\s*[XYZ]\(\d{1,3}\))*", A):
    print("OK")
else:
    print("NOK")
© www.soinside.com 2019 - 2024. All rights reserved.