Invertering av teckenuppsättningar i reguljära uttryck
Med hjälp av cirkumflex '^' i början
av hakparenteser kan man invertera
önskat. Om till exempel kommandot [ab]
söker efter bokstaven 'a' eller 'b', så
kommer kommandot [^ab] att söka efter alla
tecken utom 'a' och 'b'.
Exempel
I detta exempel ser sökmönstret ut
så här: bokstaven 'x', sedan INTE bokstaven
'a', inte 'b' och inte 'c',
sedan bokstaven 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Resultat av kodkörning:
'xax xbx xcx !'
Exempel
I detta exempel ser sökmönstret ut
så här: bokstaven 'x', sedan INTE liten
latinsk bokstav, sedan bokstaven 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Resultat av kodkörning:
'xaz xbz ! !'
Praktiska uppgifter
Skriv ett reguljärt uttryck som hittar strängar
enligt mönstret: siffra 1, sedan tecken
som inte är 'e' och inte 'x', siffra
2.
Skriv ett reguljärt uttryck som hittar strängar
enligt mönstret: bokstaven 'x', sedan INTE
siffra från 2 till 7, bokstaven
'z'.
Skriv ett reguljärt uttryck som hittar strängar
enligt mönstret: bokstaven 'x', sedan INTE
stor latinsk bokstav från 1 och fler
gånger, bokstaven 'z'.
Skriv ett reguljärt uttryck som hittar strängar
enligt mönstret: bokstaven 'x', sedan INTE
stor eller liten latinsk bokstav och
inte siffra från 1 till 5 från 1
och fler gånger, bokstaven 'z'.