පයිතන් නිත්‍ය ප්‍රකාශන වල අක්ෂර කට්ටල

\d සහ \w යන අක්ෂර කාණ්ඩ ඉතා නම්‍යශීලී නොවේ. සියලු අකුරු සොයා ගැනීම, නමුත් ඉලක්කම් නොවේ යන සරල කාර්යයක් පවා ඒවා මගින් විසඳිය නොහැක. එවැනි කාර්යයන් සඳහා වර්ග අවයර්භයිත භාවිතා කළ යුතු අතර, එය 'හෝ' මෙහෙයුම නියෝජනය කරයි.

වර්ග අවයර්භයිත ඇතුළත ලැයිස්තුගත කර ඇති ඕනෑම එක් අක්ෂරයක් ආදේශ කරයි. උදාහරණයක් වශයෙන්, මෙහි: x[abc]x - අපි කියන්නේ දෙපස අක්ෂර x තිබිය යුතු අතර, ඇතුළත - එක් අක්ෂරයක්: 'a', 'b', හෝ 'c' විය යුතු බවයි.

වර්ග අවයර්භයිති පසුව පුනරාවර්තන ක්‍රියාකරුවන් ලිවිය හැකිය. උදාහරණයක් වශයෙන්, මෙහි: x[abc]+x - අපි කියන්නේ ඇතුළත ඕනෑම ගණනක අක්ෂර 'a', 'b' සහ 'c' තිබිය හැකි බවයි - ඕනෑම සංයෝජනයකින්.

අක්ෂර ලැයිස්තුගත කිරීම පමණක් නොව, අක්ෂර කාණ්ඩ සෑදිය හැකිය, දෙපස අක්ෂර අතර යටිකුරු රේඛාව ලිවීමෙන්. උදාහරණයක් වශයෙන්, මෙහි: [a-d] - අපට 'a' සිට 'd' දක්වා සියලුම අක්ෂර ලැබේ.

අපි උදාහරණ දෙස බලමු.

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: x අක්ෂර අතර 'a' සිට 'z' දක්වා ඕනෑම අකුරක්:

<

+Python+> txt = 'xax xbx xcx x@x' res = re.sub('x[a-z]x', '!', txt) print(res)

<

-python->

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'! ! ! x@x'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: x අක්ෂර අතර 'a' සිට 'k' දක්වා ඕනෑම අකුරක්:

pythontxt = 'xax xbx xmx x@x'
res = re.sub('x[a-k]x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'! ! xmx x@x'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: x අක්ෂර අතර 'A' සිට 'Z' දක්වා ඕනෑම අකුරක්:

pythontxt = 'xax xBx xcx x@x'
res = re.sub('x[A-Z]x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'xax ! xcx x@x'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: x අක්ෂර අතර 0 සිට 9 දක්වා ඕනෑම ඉලක්කමක්:

pythontxt = 'xax x1x x3x x5x x@x'
res = re.sub('x[0-9]x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'xax ! ! ! x@x'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: x අක්ෂර අතර 3 සිට 7 දක්වා ඕනෑම ඉලක්කමක්:

pythontxt = 'xax x1x x3x x5x x@x'
res = re.sub('x[3-7]x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'xax x1x ! ! x@x'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: x අක්ෂර අතර 'a' සිට 'z' දක්වා ඕනෑම අකුරක් හෝ 1 සිට 9 දක්වා ඕනෑම ඉලක්කමක්:

pythontxt = 'xax x1x x3x x5x x@x'
res = re.sub('x[a-z1-9]x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'! ! ! ! x@x'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: x අක්ෂර අතර 'a' සිට 'z' දක්වා ඕනෑම අකුරක් හෝ 'A' සිට 'Z' දක්වා ඕනෑම අකුරක්:

pythontxt = 'xax xBx xcx x5x x@x'
res = re.sub('x[a-zA-Z]x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'! ! ! x5x x@x'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: x අක්ෂර අතර 'a' සිට 'z' දක්වා ඕනෑම අකුරක් හෝ 1, 2 ඉලක්කම්:

pythontxt = 'xax xbx x1x x2x x3x'
res = re.sub('x[a-z12]x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'! ! ! ! x3x'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: x අක්ෂර අතර 'a' සිට 'z' දක්වා අකුරු, 1 සිට වැඩි ගණනක්:

pythontxt = 'xx xabesx xaadx x123x xa3x'
res = re.sub('x[a-z]+x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'xx ! ! ! x123x xa3x'

උදාහරණය

අපි එසේ කරමු අකුරු ගණන ශුන්ය විය හැකි වන පරිදි:

pythontxt = 'xx xabesx xaadx x123x xa3x'
res = re.sub('x[a-z]*x', '!', txt)

print(res)

ප්‍රතිඵලයක් වශයෙන් අපට ලැබෙන්නේ:

python'! ! ! ! x123x xa3x'

උදාහරණය

වර්ග අවයර්භයිත ඇතුළත යොමු කළ අක්ෂර ද දැක්විය හැකිය. අපි අකුරු සහ ඉලක්කම් අනුක්‍රමයක් සොයා ගනිමු, ශුන්ය හෝ වැඩි වාර ගණනක් පුනරාවර්තනය වන:

pythontxt = 'xx x@x xadx xas12x xa3x'
res = re.sub('x[a-z\d]*x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'! x@x ! ! !'

උදාහරණය

අපට තවත් වර්ග අවයර්භයිත සඳහන් කිරීමට අවශ්‍ය නම්, අපි ඒවා නිසැකවම යොමු කළ යුතුය:

pythontxt = 'xx xrx xas[]x x3x'
res = re.sub('x[a-z\[\]]*x', '!', txt)

print(res)

කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය:

python'! ! ! x3x'

ප්‍රායෝගික කාර්යයන්

Задание 1

පහත දැක්වෙන පේළිය:

pythontxt = 'aba aea aca aza axa'

පහත රටාවට අනුව සොයා ගන්නා නිත්‍ය ප්‍රකාශනය ලියන්න: දෙපස 'a' අකුරු වලින් සමන්විත වන අතර, ඒවා අතර - 'b', 'e' හෝ 'x' අකුර.

Задание 2

පහත දැක්වෙන පේළිය:

pythontxt = 'a1a a3a a7a a9a aba'

පහත රටාවට අනුව සොයා ගන්නා නිත්‍ය ප්‍රකාශනය ලියන්න: දෙපස 'a' අකුරු වලින් සමන්විත වන අතර, ඒවා අතර - 3 සිට 6 දක්වා ඉලක්කමක්.

Задание 3

පහත දැක්වෙන පේළිය:

pythontxt = 'aba aea afa aha aga'

පහත රටාවට අනුව සොයා ගන්නා නිත්‍ය ප්‍රකාශනය ලියන්න: දෙපස 'a' අකුරු වලින් සමන්විත වන අතර, ඒවා අතර - 'a' සිට 'g' දක්වා අකුරක්.

Задание 4

පහත දැක්වෙන පේළිය:

pythontxt = 'aba aea afa aha aga'

පහත රටාවට අනුව සොයා ගන්නා නිත්‍ය ප්‍රකාශනය ලියන්න: දෙපස 'a' අකුරු වලින් සමන්විත වන අතර, ඒවා අතර - 'a' සිට 'f' දක්වා සහ 'j' සිට 'z' දක්වා අකුරක්.

Задание 5

පහත දැක්වෙන පේළිය:

pythontxt = 'aAa aea aEa aJa a3a'

පහත රටාවට අනුව සොයා ගන්නා නිත්‍ය ප්‍රකාශනය ලියන්න: දෙපස 'a' අකුරු වලින් සමන්විත වන අතර, ඒවා අතර - 'a' සිට 'f' දක්වා සහ 'A' සිට 'D' දක්වා අකුරක්.

Задание 6

පහත දැක්වෙන පේළිය:

pythontxt = 'aAXa aeffa aGha aza ax23a a3sSa'

පහත රටාවට අනුව සොයා ගන්නා නිත්‍ය ප්‍රකාශනය ලියන්න: දෙපස 'a' අකුරු වලින් සමන්විත වන අතර, ඒවා අතර - කුඩා ලතින් අකුරු, අනෙක් ඒවාට හානි නොකර.

Задание 7

පහත දැක්වෙන පේළිය:

pythontxt = 'aAXa aeffa aGha aza ax23a a3sSa'

පහත රටාවට අනුව සොයා ගන්නා නිත්‍ය ප්‍රකාශනය ලියන්න: දෙපස 'a' අකුරු වලින් සමන්විත වන අතර, ඒවා අතර - කුඩා සහ විශාල ලතින් අකුරු, අනෙක් ඒවාට හානි නොකර.

Задание 8

පහත දැක්වෙන පේළිය:

pythontxt = 'aAXa aeffa aGha aza ax23a a3sSa'

පහත රටාවට අනුව සොයා ගන්නා නිත්‍ය ප්‍රකාශනය ලියන්න: දෙපස 'a' අකුරු වලින් සමන්විත වන අතර, ඒවා අතර - කුඩා ලතින් අකුරු සහ ඉලක්කම්, අනෙක් ඒවාට හානි නොකර.