最佳正则表达式

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

我有一个假设的路径,我想要一个简单的PCRE正则表达式。为了简单起见,我们假设它的深度为三层,并且每个文件夹的名称分别为A,B和C。

以下各项应与表达式匹配:

A
AB
ABC

以下项目应与表达式匹配:

AC
ACB
B
BA
BAC
BC
BCA
C
CA
CAB
CB
CBA

我能想到的唯一表达是

^**A**(**B**(**C**)?)?$

但是,理想情况下,我希望图案的右侧不取决于深度(深度可能远大于3)。即^**A**\1**B**\1**C**$

请注意,我知道上面的内容是无效的模式,但我希望它能说明我的观点。

我已经弄乱了反向引用等,但是似乎无法破解。有什么想法吗?

regex pcre
1个回答
0
投票

这可以解决您描述的问题:

^(A|AB|ABC)$

这可能更接近您的需求:

^A((?<=A)B)?((?<=B)C)?$
© www.soinside.com 2019 - 2024. All rights reserved.