Sümbolikomplektide inverteerimine regulaaravaldistes
Katusega '^' ruutsulgude
alguses saab soovitud vastupidiseks pöörata.
Kui näiteks käsk [ab]
otsib tähte 'a' või 'b', siis
käsk [^ab] otsib kõiki
sümboleid, välja arvatud 'a' ja 'b'.
Näide
Selles näites on otsimismustril
järgmine välimus: täht 'x', siis MITTE täht
'a', mitte 'b' ega 'c',
seejärel täht 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Koodi täitmise tulemus:
'xax xbx xcx !'
Näide
Selles näites on otsimismustril
järgmine välimus: täht 'x', siis MITTE väike
ladina täht, seejärel täht 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Koodi täitmise tulemus:
'xaz xbz ! !'
Praktilised ülesanded
Kirjutage regulaaravaldis, mis leiab stringid
vastavalt mustrile: number 1, seejärel sümbol
mitte 'e' ega 'x', number
2.
Kirjutage regulaaravaldis, mis leiab stringid
vastavalt mustrile: täht 'x', seejärel MITTE
number vahemikust 2 kuni 7, täht
'z'.
Kirjutage regulaaravaldis, mis leiab stringid
vastavalt mustrile: täht 'x', seejärel MITTE
suur ladina täht 1 või rohkem
korda, täht 'z'.
Kirjutage regulaaravaldis, mis leiab stringid
vastavalt mustrile: täht 'x', seejärel MITTE
suur ega väike ladina täht ega
number vahemikust 1 kuni 5 1
või rohkem korda, täht 'z'.