繁体   English   中英

正则表达式 Python,匹配 A 和 B 之间的任何内容,除非 C

[英]Regex Python, Match anything between A and B unless C

关于正则表达式的问题。 我有以下想要匹配的模式:

A()()()(B)         MATCH
A()()(B)           MATCH
A()(B)             MATCH
A(B)               MATCH

另外,如果括号中除了短语 (NO) 之外还有任何内容,那么它也应该匹配:

A(abc)(B)          MATCH
A()(def)(B)        MATCH
A()()(ghij)(B)     MATCH
A(klmn)(opq)()(B)  MATCH
A(NO)(B)           NO MATCH
A()()(NO)(B)       NO MATCH
A(abc)(NO)(B)      NO MATCH

但是,如果括号中没有内容,我不希望该短语匹配:

Aabc(B)           NO MATCH
A()defg()(B)      NO MATCH

我有以下几点:

A\(.*\)*(?<!\(NO\))\(B\)

请帮忙!

你可以做:

^A(\((?!NO\))[^)]*\))*\(B\)$

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM