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