我想匹配集合[A-Z]
的前1到3个字符,但我想忽略前缀XYZ_
。
示例:
- XYZ_ABC1234
- XYZ_DEF1234
- DEF0000A0
- D00A0
- BCDA1
- CDE
我正在尝试使用^(?!XYZ_)?[A-Z]{1,3}
形式的负前瞻。但是,这将返回前两个示例中的"XYZ"(适用于其他示例(。即其输出为:
- XYZ_ABC1234
- XYZ_DEF1234
- DEF0000A0
- D00A0
- BCDA1
- CDE
如何忽略字符串中的前缀(如果存在(并根据我要查找的条件进行匹配?
事实证明,这在某种程度上是特定于re
模块的Python。
我能够使用K
来实现我想要的结果,它重置了报告的匹配的起点。
因此,如果使用Perl兼容Regex表达式(PCRE(,答案是:^(?:XYZ_K)?[A-Z]{1,3}
更多信息可以在这里阅读