JavaScript හි නිත්ය ප්රකාශන වල ආපසු බැලීමේ බැක්ස්ලෑෂ්
නිත්ය ප්රකාශන සහිත වාක්ය ඛණ්ඩවල, ආපසු බැලීමේ බැක්ස්ලෑෂ් ආවරණය කිරීමට (සැබවින්ම දෙගුණයක් කිරීමට) අවශ්ය වේ. අපි උදාහරණයක් බලමු. අපට පහත දැක්වෙන වාක්ය ඛණ්ඩය ඇතැයි සිතමු:
javascriptlet str = 'xyz';
අපට පහත දැක්වෙන නිත්ය ප්රකාශන සහිත කේතය ඇතැයි සිතමු:
javascriptlet reg = /\w+/;
let res = str.match(reg);
නිත්ය ප්රකාශනය වාක්ය ඛණ්ඩයක් ලෙස පරිවර්තනය කරමු. මෙම අවස්ථාවේදී, ආපසු බැලීමේ බැක්ස්ලෑෂ් සමඟ ගැටලුවක් ඇතිවේ:
javascriptlet reg = new RegExp('\w+'); // ක්රියාත්මක නොවේ
let res = str.match(reg);
ගැටලුව විසඳීම සඳහා ආපසු බැලීමේ බැක්ස්ලෑෂ් දෙගුණයක් කරමු:
javascriptlet reg = new RegExp('\\w+'); // ක්රියාත්මක වේ
let res = str.match(reg);
ප්රායෝගික ගැටළු
Задание 1
නිත්ය ප්රකාශනය වාක්ය ඛණ්ඩයක් ලෙස පරිවර්තනය කරන්න:
javascriptlet str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Задание 2
නිත්ය ප්රකාශනය වාක්ය ඛණ්ඩයක් ලෙස පරිවර්තනය කරන්න:
javascriptlet str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Задание 3
නිත්ය ප්රකාශනය වාක්ය ඛණ්ඩයක් ලෙස පරිවර්තනය කරන්න:
javascriptlet str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');