簡體   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