Регуляр ифодаларда белгилар тўпламини инвертлаш

Квадрат қавс бошланишидаги шляпка '^' орқали исталган нарсани инвертлаш мумкин. Агар, масалан, [ab] буйруғи 'a' ёки 'b' белгисини изланса, [^ab] буйруғи эса 'a' ва 'b' дан бошқа барча белгиларни излайди.

Мисол

Ушбу мисолда излаш намунаси шундай кўринади: 'x' белгиси, сўнг 'a' белгиси эмас, 'b' эмас ва 'c' эмас, сўнгра 'z' белгиси:

pythontxt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)

print(res)

Коднинг ишлаш натижаси:

python'xax xbx xcx !'

Мисол

Ушбу мисолда излаш намунаси шундай кўринади: 'x' белгиси, сўнг кичик лотин ҳарфи эмас, сўнгра 'z' белгиси:

pythontxt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)

print(res)

Коднинг ишлаш натижаси:

python'xaz xbz ! !'

Амалий машқлар

Задание 1

Шаблон буйича сатрларни топадиган регуляр ифодани ёзинг: 1 рақам, сўнг 'e' ва 'x' эмас белги, 2 рақам.

Задание 2

Шаблон буйича сатрларни топадиган регуляр ифодани ёзинг: 'x' белгиси, сўнг 2 дан 7 гача рақам эмас, 'z' белгиси.

Задание 3

Шаблон буйича сатрларни топадиган регуляр ифодани ёзинг: 'x' белгиси, сўнг 1 ва ундан кўп марта катта лотин ҳарфи эмас, 'z' белгиси.

Задание 4

Шаблон буйича сатрларни топадиган регуляр ифодани ёзинг: 'x' белгиси, сўнг 1 дан 5 гача рақам эмас катта ёки кичик лотин ҳарфи ва 1 ва ундан кўп марта, 'z' белгиси.