⊗pyPmREHHy 47 of 129 menu

Цртичка внутри множества во регуларните изрази на Python

Цртичката - исто така е специјален знак внутри [ ] (но надвор - не е). Ако ви треба самата цртичка како знак - тогаш ставете ја таму, каде што нема да биде сфатена како разделувач на група.

Зошто ова е важно: можете да направите група знаци, без самите да забележите. На пример, вака - '[:-@]' - вие мислите дека избирате две точки, цртичка и симболот @, а всушност се добива група знаци помеѓу : и @. Во оваа група влегуваат следниве знаци: ? < = > :

Од каде се појавиле? Од табелата ASCII - две точки има помал број, отколку симболот @ - и се добива група. Односно сите групи се добиваат според табелата ASCII (доколку сакате со ова може да се користите).

Како да се борите со ова: поставете го знакот цртичка таму, каде што дефинитивно нема да биде сфатена како знак на група, на пример, на почетокот или на крајот (односно после [или пред ]).

Може исто така да ја екранирате цртичката - тогаш таа ќе означува самата себе независно од позицијата. На пример, наместо [:-@] да се напише [:\-@] - и група веќе нема да има, а ќе има три знаци - две точки, цртичка и симболот @.

Пример

Во следниот пример шаблонот за пребарување е ваков: цифра 1, потоа буква од 'a' до 'z', потоа цифра 2:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a-z]2', '!', txt) print(res)

Резултат од извршувањето на кодот:

'! 1-2 ! !'

Пример

Ајде сега да ја екранираме цртичката. Во резултат шаблонот за пребарување е ваков: цифра 1, потоа буква 'a', или цртичка, или буква 'z', потоа цифра 2:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a\-z]2', '!', txt) print(res)

Резултат од извршувањето на кодот:

'! ! 1c2 !'

Пример

Може едноставно да се премести цртичката, без да се екранира таа:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[az-]2', '!', txt) print(res)

Резултат од извршувањето на кодот:

'! ! 1c2 !'

Пример

Во следниот пример шаблонот за пребарување е ваков: прв знак - тоа се мали букви или цртичка '-', потоа две букви 'x':

txt = 'axx Axx -xx @xx' res = re.sub('[a-z-]xx', '!', txt) print(res)

Резултат од извршувањето на кодот:

'! Axx ! @xx'

Пример

Во следниот пример шаблонот за пребарување е ваков: прв знак - тоа се мали, големи букви или цртичка '-', потоа две букви 'x':

txt = 'axx Axx -xx @xx' res = re.sub('[a-zA-Z-]xx', '!', txt) print(res)

Резултат од извршувањето на кодот:

'! ! ! @xx'

Пример

Може да се постави цртичка помеѓу две групи - таму таа дефинитивно нема да направи уште една група:

txt = 'axx 9xx -xx @xx' res = re.sub('[a-z-0-9]xx', '!', txt) print(res)

Резултат од извршувањето на кодот:

'! ! ! @xx'

Практични задачи

Даден е стрингот:

txt = 'xaz xBz xcz x-z x@z'

Пронајдете ги сите стрингови според следниов шаблон: буква 'x', голема или мала буква или цртичка, буква 'z'.

Даден е стрингот:

txt = 'xaz x$z x-z xcz x+z x%z x*z'

Пронајдете ги сите стрингови според следниов шаблон: буква 'x', потоа или долар, или цртичка или плус, потоа буква 'z'.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј