Invertering af tegnsæt i regulære udtryk
Med cirkumfleks '^' i starten
af kantede parenteser kan man invertere
ønsket. Hvis for eksempel kommandoen [ab]
søger efter bogstavet 'a' eller 'b', så
vil kommandoen [^ab] søge efter alle
tegn, undtagen 'a' og 'b'.
Eksempel
I dette eksempel ser søgemønsteret sådan
ud: bogstav 'x', derefter IKKE bogstav
'a', ikke 'b' og ikke 'c',
så bogstav 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Resultatet af kodeudførelse:
'xax xbx xcx !'
Eksempel
I dette eksempel ser søgemønsteret sådan
ud: bogstav 'x', derefter IKKE lille
latinsk bogstav, så bogstav 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Resultatet af kodeudførelse:
'xaz xbz ! !'
Praktiske opgaver
Skriv et regulært udtryk, der finder strenge
efter mønsteret: ciffer 1, derefter tegn
som ikke er 'e' og ikke 'x', ciffer
2.
Skriv et regulært udtryk, der finder strenge
efter mønsteret: bogstav 'x', derefter IKKE
ciffer fra 2 til 7, bogstav
'z'.
Skriv et regulært udtryk, der finder strenge
efter mønsteret: bogstav 'x', derefter IKKE
stor latinsk bogstav fra 1 og derover
gange, bogstav 'z'.
Skriv et regulært udtryk, der finder strenge
efter mønsteret: bogstav 'x', derefter IKKE
stor eller lille latinsk bogstav og
ikke ciffer fra 1 til 5 fra 1
og derover gange, bogstav 'z'.