Cirkumfleksa simbols regulāro izteiksmju kopās Python
Kā jūs zināt, cirkumfleksa [ ] iekšienē
veic noliegumu, atrodoties
iekavu sākumā. Tāpēc tas ir
speciālais simbols šo iekavu iekšienē. Lai
iegūtu cirkumfleksu kā simbolu, tas ir jāaizbīda
vai jāatrodas ne pirmajā vietā.
Piemērs
Nākamajā piemērā meklēšanas šablons ir šāds:
pirmā zīme ir viss, izņemot 'd',
pēc tam divi burts 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)
print(res)
Rezultātā mainīgajā tiks ierakstīts sekojošs:
'! ! ! dxx'
Piemērs
Bet tagad meklēšanas šablons ir šāds: pirmā
zīme ir 'd' vai '^',
pēc tam divi burts 'x':
txt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)
print(res)
Rezultātā mainīgajā tiks ierakstīts sekojošs:
'axx bxx ! !'
Piemērs
Var neizņemt cirkumfleksu no pirmās vietas, bet vienkārši to ekrānēt, izmantojot reverso slīpsvītru, un tas sāks apzīmēt pati sevi:
txt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)
print(res)
Rezultātā mainīgajā tiks ierakstīts sekojošs:
'axx bxx ! !'
Praktiskie uzdevumi
Dota virkne:
txt = '^xx axx ^zz bkk @ss'
Uzrakstiet regulāro izteiksmi, kas atradīs virknes pēc šablona: cirkumflekss vai atzīme @, un pēc tam divi latīņu burts.
Dota virkne:
txt = '^xx axx ^zz bkk @ss'
Uzrakstiet regulāro izteiksmi, kas atradīs virknes pēc šablona: NE cirkumflekss un ne atzīme @, bet pēc tam divi latīņu burts.
Dota virkne:
txt = '^xx axx ^zz bkk'
Uzrakstiet regulāro izteiksmi, kas atradīs virknes pēc šablona: ne cirkumflekss un ne atstarpe, bet pēc tam divi latīņu burts.