სიმბოლო "^" ნაკრებების შიგნით პითონის რეგულარულ გამონათქვამებში

როგორც იცით, სიმბოლო "^" [ ]-ის შიგნით უარყოფას ახდენს, თუ იგი ფრჩხილების თავშია დაწერილი. ეს ნიშნავს, რომ იგი სპეციალური სიმბოლოა ამ ფრჩხილების შიგნით. რომ მივიღოთ "^", როგორც ჩვეულებრივი სიმბოლო, საჭიროა ან მისი ესკაპირება, ან პირველი პოზიციიდან გადატანა.

მაგალითი

შემდეგ მაგალითში ძიების შაბლონი ასეთია: პირველი სიმბოლო არის ყველაფერი, გარდა 'd'-ისა, შემდეგ ორი ასო 'x':

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[^d]xx', '!', txt)

print(res)

შედეგად ცვლადში ჩაიწერება შემდეგი:

python'! ! ! dxx'

მაგალითი

ახლა კი ძიების შაბლონი ასეთია: პირველი სიმბოლო არის 'd' ან '^', შემდეგ ორი ასო 'x':

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[d^]xx', '!', txt)

print(res)

შედეგად ცვლადში ჩაიწერება შემდეგი:

python'axx bxx ! !'

მაგალითი

შეგიძლიათ არ გადაიტანოთ "^" პირველი ადგილიდან, არამედ უბრალოდ ესკაპირება მოახდინოთ უკანა წერტილის გამოყენებით და იგი საკუთარ თავს აღნიშნავს:

pythontxt = 'axx bxx ^xx dxx'
res = re.sub('[\^d]xx', '!', txt)

print(res)

შედეგად ცვლადში ჩაიწერება შემდეგი:

python'axx bxx ! !'

პრაქტიკული ამოცანები

Задание 1

მოცემულია სტრიქონი:

pythontxt = '^xx axx ^zz bkk @ss'

დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს შაბლონის მიხედვით: "^" ან "@", და შემდეგ ორი ლათინური ასო.

Задание 2

მოცემულია სტრიქონი:

pythontxt = '^xx axx ^zz bkk @ss'

დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს შაბლონის მიხედვით: არა "^" და არა "@", და შემდეგ ორი ლათინური ასო.

Задание 3

მოცემულია სტრიქონი:

pythontxt = '^xx axx ^zz bkk'

დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს შაბლონის მიხედვით: არა "^" და არა სფეისი, და შემდეგ ორი ლათინური ასო.