Hat-symboli säännöllisten lausekkeiden joukoissa Pythonissa
Kuten tiedät, hat-symboli [ ]:n
sisällä tekee negaation, kun se kirjoitetaan
hakasulkeiden alkuun. Siten se on
erikoismerkki näiden hakasulkeiden sisällä. Jotta
saisit hat-symbolin merkiksi, sinun on joko
escapettava se tai poistettava se ensimmäiseltä
paikalta.
Esimerkki
Seuraavassa esimerkissä hakumalli on seuraava:
ensimmäinen merkki on kaikki paitsi 'd',
sitten kaksi kirjainta 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)
print(res)
Tuloksena muuttujaan kirjoitetaan seuraava:
'! ! ! dxx'
Esimerkki
Ja nyt hakumalli on seuraava: ensimmäinen
merkki on 'd' tai '^',
sitten kaksi kirjainta 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)
print(res)
Tuloksena muuttujaan kirjoitetaan seuraava:
'axx bxx ! !'
Esimerkki
Voit jättää hat-symbolin ensimmäiselle paikalle, mutta vain escapettaa sen käyttämällä kenoviivaa, ja se tulee tarkoittamaan itseään:
txt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)
print(res)
Tuloksena muuttujaan kirjoitetaan seuraava:
'axx bxx ! !'
Käytännön tehtävät
Annettu merkkijono:
txt = '^xx axx ^zz bkk @ss'
Kirjoita säännöllinen lauseke, joka löytää merkkijonot mallin mukaan: hat-symboli tai @-merkki, ja sitten kaksi latinalaista kirjainta.
Annettu merkkijono:
txt = '^xx axx ^zz bkk @ss'
Kirjoita säännöllinen lauseke, joka löytää merkkijonot mallin mukaan: EI hat-symboli eikä @-merkki, ja sitten kaksi latinalaista kirjainta.
Annettu merkkijono:
txt = '^xx axx ^zz bkk'
Kirjoita säännöllinen lauseke, joka löytää merkkijonot mallin mukaan: ei hat-symboli eikä välilyönti, ja sitten kaksi latinalaista kirjainta.