Zgodnie z pythonem doc, literały pionowe są używane jako operator "lub". Pasuje do A | B, gdzie A i B mogą być dowolnymi RE.W jaki sposób pionowe paski literalne określają formalny wyrażenie regularne w python?
Na przykład, jeśli wyrażenie regularne jest następujący: ABC | DEF, dopasowuje ciągi takie jak:
„ABC”, „DEF”
Ale co, jeśli chcę, aby dopasować ciągi jak następujące:
"ABCF", "Adef"
Być może to, co chcę jest coś A (BC) | (DE) F co oznacza:
- mecz "A" pierwszy
- następnie string "BC" czy "de",
- następnie znak "F".
Wiem, że powyższe wyrażenie nie jest właściwe, ponieważ nawiasy mają inne znaczenie w wyrażeniu regularnym, tylko po to, by wyrazić mój pomysł.
Dzięki!
@ThomasH: Mylisz się. Testowałem to. –
Masz rację. Używałem re-wyszukiwania i zakończyło się ono sukcesem, ale pasowało tylko do pod-ciągu "ABCF" lub "ADEF" (co prawdopodobnie nie było zamierzeniem PO). – ThomasH
Interesującą rzeczą (o której nie wiedziałem) jest to, że '|' w 'A (BC) | (DE) F' faktycznie ma argumenty' A (BC) 'i' (DE) F', a nie tylko '(BC) 'i' (DE) '. – ThomasH