जावास्क्रिप्ट में रेगुलर एक्सप्रेशन स्ट्रिंग्स में बैकस्लैश
रेगुलर एक्सप्रेशन वाली स्ट्रिंग्स में बैकस्लैश को एस्केप करना होता है (वास्तव में दोगुना करना)। आइए एक उदाहरण देखें। मान लीजिए कि हमारे पास निम्नलिखित स्ट्रिंग है:
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, '!');