სიმბოლოების ნაკრების ინვერსია რეგულარულ გამონათქვამებში
კარეტის '^' გამოყენებით
კვადრატული ფრჩხილების დასაწყისში
შესაძლებელია სასურველის ინვერსია.
თუ, მაგალითად, ბრძანება [ab]
ეძებს ასო 'a'-ს ან 'b'-ს,
მაშინ ბრძანება [^ab] ეძებს ყველა
სიმბოლოს, გარდა 'a'-ისა და 'b'-ის.
მაგალითი
ამ მაგალითში ძიების შაბლონი ასე გამოიყურება:
ასო 'x', შემდეგ არა ასო
'a', არა 'b' და არა 'c',
შემდეგ ასო 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
კოდის შესრულების შედეგი:
'xax xbx xcx !'
მაგალითი
ამ მაგალითში ძიების შაბლონი ასე გამოიყურება:
ასო 'x', შემდეგ არა პატარა
ლათინური ასო, შემდეგ ასო 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
კოდის შესრულების შედეგი:
'xaz xbz ! !'
პრაქტიკული ამოცანები
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
შაბლონის მიხედვით: ციფრი 1, შემდეგ სიმბოლო
არა 'e' და არა 'x', ციფრი
2.
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
შაბლონის მიხედვით: ასო 'x', შემდეგ არა
ციფრი 2-დან 7-მდე, ასო
'z'.
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
შაბლონის მიხედვით: ასო 'x', შემდეგ არა
დიდი ლათინური ასო 1-ჯერ და მეტჯერ,
ასო 'z'.
დაწერეთ რეგულარული გამონათქვამი, რომელიც იპოვის სტრიქონებს
შაბლონის მიხედვით: ასო 'x', შემდეგ არა
დიდი ან პატარა ლათინური ასო და
არა ციფრი 1-დან 5-მდე 1
ჯერ და მეტჯერ, ასო 'z'.