Inverteren van karaktersets in regex
Met het dakje '^' aan het begin
van vierkante haken kun je het gewenste
inverteren. Als bijvoorbeeld het commando [ab]
op zoek is naar de letter 'a' of 'b', dan
zal het commando [^ab] naar alle
tekens zoeken, behalve 'a' en 'b'.
Voorbeeld
In dit voorbeeld ziet het zoekpatroon er
als volgt uit: letter 'x', dan GEEN letter
'a', geen 'b' en geen 'c',
dan letter 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Resultaat van het uitvoeren van de code:
'xax xbx xcx !'
Voorbeeld
In dit voorbeeld ziet het zoekpatroon er
als volgt uit: letter 'x', dan GEEN kleine
Latijnse letter, dan letter 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Resultaat van het uitvoeren van de code:
'xaz xbz ! !'
Praktische opdrachten
Schrijf een reguliere expressie die strings vindt
volgens het patroon: cijfer 1, dan teken
niet 'e' en niet 'x', cijfer
2.
Schrijf een reguliere expressie die strings vindt
volgens het patroon: letter 'x', dan GEEN
cijfer van 2 tot 7, letter
'z'.
Schrijf een reguliere expressie die strings vindt
volgens het patroon: letter 'x', dan GEEN
hoofdletter Latijns van 1 of meer
keer, letter 'z'.
Schrijf een reguliere expressie die strings vindt
volgens het patroon: letter 'x', dan GEEN
hoofdletter of kleine letter Latijns en
geen cijfer van 1 tot 5 van 1
of meer keer, letter 'z'.