ජාවාස්ක්රිප්ට් රෙගුලර් ප්රකාශනවල අක්ෂර කට්ටල
\d සහ \w යන අක්ෂර කණ්ඩායම්
ඉතා නම්යශීලී නොවේ. සියලුම අකුරු සොයා ගැනීමට, නමුත් ඉලක්කම් නොවේ -
එවැනි සරල කාර්යයක් පවා ඒවා මගින් විසඳිය නොහැක. එවැනි කාර්යයන් සඳහා
වර්ග කොටු වරහන් භාවිතා කළ යුතුය, එයින් අදහස් වන්නේ
'හෝ' මෙහෙයුමයි.
වර්ග කොටු වරහන් තුළ ලැයිස්තුගත කර ඇති ඕනෑම එක් අක්ෂරයක් ප්රතිස්ථාපනය කරයි.
උදාහරණයක් ලෙස,
මෙසේය: /x[abc]x/ - අපි කියන්නේ
දාරවල x අකුරු තිබිය යුතු අතර, අතරට
- එක් අක්ෂරයක්: 'a', 'b',
හෝ 'c'.
වර්ග කොටු වරහන් පසුව පුනරාවර්තන මෙහෙයුම්කරුවන්
ලිවිය හැකිය. උදාහරණයක් ලෙස, මෙසේය: /x[abc]+x/
- අපි කියන්නේ x අතරට
ඕනෑම සංඛ්යාවක අක්ෂර 'a', 'b'
සහ 'c' - ඕනෑම සංයෝජනයකින් තිබිය හැකි බවයි.
අක්ෂර ලැයිස්තුගත කිරීම පමණක් නොව, අක්ෂර කණ්ඩායම් නිර්මාණය කළ හැකිය,
දෙවන අක්ෂරයක් අතර යටි ඉර ලිවීමෙන්. උදාහරණයක් ලෙස, මෙසේය: [a-d] -
අපට 'a' සිට
'd' දක්වා සියලුම අක්ෂර ලැබේ.
අපි උදාහරණ බලමු.
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් නිර්මාණය මෙසේය:
x අතරට 'a'
සිට 'z' දක්වා ඕනෑම අකුරක්:
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'! ! ! x@x'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් නිර්මාණය මෙසේය:
x අතරට 'a'
සිට 'k' දක්වා ඕනෑම අකුරක්:
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'! ! xmx x@x'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් නිර්මාණය මෙසේය:
x අතරට 'A'
සිට 'Z' දක්වා ඕනෑම අකුරක්:
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'xax ! xcx x@x'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් නිර්මාණය මෙසේය:
x අතරට 0 සිට 9 දක්වා ඕනෑම ඉලක්කමක්:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'xax ! ! ! x@x'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් නිර්මාණය මෙසේය:
x අතරට 3 සිට 7 දක්වා ඕනෑම ඉලක්කමක්:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'xax x1x ! ! x@x'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් නිර්මාණය මෙසේය:
x අතරට 'a'
සිට 'z' දක්වා ඕනෑම අකුරක් හෝ 1 සිට 9 දක්වා ඉලක්කමක්:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'! ! ! ! x@x'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් නිර්මාණය මෙසේය:
x අතරට 'a'
සිට 'z' දක්වා ඕනෑම අකුරක් හෝ 'A' සිට
'Z' දක්වා ඕනෑම අකුරක්:
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'! ! ! x5x x@x'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් නිර්මාණය මෙසේය:
x අතරට 'a'
සිට 'z' දක්වා ඕනෑම අකුරක් හෝ 1, 2 ඉලක්කම්:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'! ! ! ! x3x'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් නිර්මාණය මෙසේය:
x අතරට 'a' සිට 'z' දක්වා අකුරු
1 හෝ ඊට වැඩි ප්රමාණයක්:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'xx ! ! ! x123x xa3x'
උදාහරණය
අකුරු ප්රමාණය ශුන්ය විය හැකි වන පරිදි කරමු:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
එහි ප්රතිඵලයක් ලෙස විචල්යයට පහත දේ ලියනු ලැබේ:
'! ! ! ! x123x xa3x'
ප්රායෝගික ගැටළු
යෝමය ලබා දී ඇත:
let str = 'aba aea aca aza axa';
පහත රටාවට අනුව සොයා ගන්නා නිත්ය ප්රකාශනයක් ලියන්න:
දාරවල 'a' අකුරු ඇත,
ඒවා අතර - 'b', 'e'
හෝ 'x' අකුර.
යෝමය ලබා දී ඇත:
let str = 'a1a a3a a7a a9a aba';
පහත රටාවට අනුව සොයා ගන්නා නිත්ය ප්රකාශනයක් ලියන්න:
දාරවල 'a' අකුරු ඇත,
ඒවා අතර - 3-න් 6 දක්වා ඉලක්කම.
යෝමය ලබා දී ඇත:
let str = 'aba aea afa aha aga';
පහත රටාවට අනුව සොයා ගන්නා නිත්ය ප්රකාශනයක් ලියන්න:
දාරවල 'a' අකුරු ඇත,
ඒවා අතර - a සිට g දක්වා අකුර.
යෝමය ලබා දී ඇත:
let str = 'aba aea afa aha aga';
පහත රටාවට අනුව සොයා ගන්නා නිත්ය ප්රකාශනයක් ලියන්න:
දාරවල 'a' අකුරු ඇත,
ඒවා අතර - a සිට f සහ j සිට z දක්වා අකුර.
යෝමය ලබා දී ඇත:
let str = 'aAa aea aEa aJa a3a';
පහත රටාවට අනුව සොයා ගන්නා නිත්ය ප්රකාශනයක් ලියන්න:
දාරවල 'a' අකුරු ඇත,
ඒවා අතර - a සිට f සහ A සිට D දක්වා අකුර.
යෝමය ලබා දී ඇත:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
පහත රටාවට අනුව සොයා ගන්නා නිත්ය ප්රකාශනයක් ලියන්න:
දාරවල 'a' අකුරු ඇත,
ඒවා අතර - කුඩා ලතින් අකුරු,
අනෙක් ඒවාට බලපාන්නේ නැත.
යෝමය ලබා දී ඇත:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
පහත රටාවට අනුව සොයා ගන්නා නිත්ය ප්රකාශනයක් ලියන්න:
දාරවල 'a' අකුරු ඇත,
ඒවා අතර - කුඩා හා විශාල ලතින්
අකුරු, අනෙක් ඒවාට බලපාන්නේ නැත.
යෝමය ලබා දී ඇත:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
පහත රටාවට අනුව සොයා ගන්නා නිත්ය ප්රකාශනයක් ලියන්න:
දාරවල 'a' අකුරු ඇත,
ඒවා අතර - කුඩා ලතින් අකුරු
සහ ඉලක්කම්, අනෙක් ඒවාට බලපාන්නේ නැත.