අක්ෂර පුනරාවර්තන ක්රියාකරුවන්
යම් අක්ෂරයක් නිශ්චිත ගණනක් පුනරාවර්තනය වන බව දැක්වීමට අවශ්ය අවස්ථා ඇත.
පුනරාවර්තනයේ නිශ්චිත සංඛ්යාව නොදන්නා නම්,
එය කිහිප වතාවක් ලිවීමෙන් පහසුවෙන් දැක්විය හැකිය
- 'aaaa'. නමුත් එවැනි දෙයක් කියවීමට අවශ්ය නම් කුමක් කළ යුතුද:
එක් හෝ ඊට වැඩි වාර ගණනක් පුනරාවර්තනය කරන්න?
මේ සඳහා පුනරාවර්තන ක්රියාකරුවන් (ක්වොන්ටිෆයර්) පවතී:
ප්ලස් ලකුණ + (එක් හෝ ඊට වැඩි වාර ගණනක්),
තරු ලකුණ * (ශුන්ය හෝ ඊට වැඩි වාර ගණනක්)
සහ ප්රශ්නාර්ථ ලකුණ ? (ශුන්ය හෝ එක් වරක්).
මෙම ක්රියාකරුවන් ඒවාට පෙර පවතින අක්ෂරය මත ක්රියා කරයි.
උදාහරණ මගින් මෙම ක්රියාකරුවන්ගේ ක්රියාකාරිත්වය බලමු.
උදාහරණය
රටාවට අනුව උප Strings සියල්ල සොයා ගනිමු අක්ෂරය
'x', අක්ෂරය 'a' එක් හෝ ඊට වැඩි වාර ගණනක්,
අක්ෂරය 'x':
txt = 'xx xax xaax xaaax xbx'
res = re.sub('xa+x', '!', txt)
print(res)
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
'xx ! ! ! xbx'
උදාහරණය
රටාවට අනුව උප Strings සියල්ල සොයා ගනිමු අක්ෂරය
'x', අක්ෂරය 'a' ශුන්ය හෝ ඊට වැඩි වාර ගණනක්,
අක්ෂරය 'x':
txt = 'xx xax xaax xaaax xbx'
res = re.sub('xa*x', '!', txt)
print(res)
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
'! ! ! ! xbx'
උදාහරණය
රටාවට අනුව උප Strings සියල්ල සොයා ගනිමු අක්ෂරය
'x', අක්ෂරය 'a' ශුන්ය හෝ එක් වරක්,
අක්ෂරය 'x':
txt = 'xx xax xaax xbx'
res = re.sub('xa?x', '!', txt)
print(res)
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
'! ! xaax xbx'
ප්රායෝගික ගැටළු
String එකක් ලබා දී ඇත:
txt = 'aa aba abba abbba abca abea'
රෙගුලාසියක් ලියන්න, එය 'aba', 'abba', 'abbba'
String සොයා ගනු ඇත
රටාවට අනුව: අක්ෂරය 'a', අක්ෂරය
'b' ඕනෑම ගණනක්, අක්ෂරය
'a'.
String එකක් ලබා දී ඇත:
txt = 'aa aba abba abbba abca abea'
රෙගුලාසියක් ලියන්න, එය 'aa', 'aba', 'abba',
'abbba' String සොයා ගනු ඇත
රටාවට අනුව: අක්ෂරය
'a', අක්ෂරය 'b' ඕනෑම ගණනක්
(බිංදුව වාර ගණනක්ද ඇතුළුව), අක්ෂරය
'a'.
String එකක් ලබා දී ඇත:
txt = 'aa aba abba abbba abca abea'
රෙගුලාසියක් ලියන්න, එය 'aa', 'aba' String සොයා ගනු ඇත
රටාවට අනුව:
අක්ෂරය 'a', අක්ෂරය 'b' එක් වරක්
හෝ කිසිවක් නොවේ, අක්ෂරය 'a'.
String එකක් ලබා දී ඇත:
txt = 'aa aba abba abbba abca abea'
රෙගුලාසියක් ලියන්න, එය 'aa', 'aba', 'abba',
'abbba' String සොයා ගනු ඇත, 'abca'
සහ 'abea' අල්ලා නොගෙන.