সমাধানটি হবে: pattern:/"(\\.|[^"\\])*"/g
।
ধাপে ধাপে দেখি:
- প্রথমে আমরা একটি শুরুর উদ্ধৃতি চিহ্নটি খুঁজব
pattern:"
- এরপর আমরা ব্যাকস্ল্যাশ খুঁজব
pattern:\\
(এজন্য আমাদের দুটি ব্যাকস্ল্যাশ দিতে হবে, কেননা এটি একটি স্পেশাল ক্যারাক্টার), এরপর যেকোন ক্যারাক্টারের জন্য(একটি ডট)। - অন্যথায় আমরা উদ্ধৃতি চিহ্ন এবং ব্যাকস্ল্যাশ ব্যতীত সকল ক্যারাক্টার নিব:
pattern:[^"\\]
- ...এবং সর্বশেষ শেষ উদ্ধৃতি চিহ্ন।
সমাধানটি হবে:
let regexp = /"(\\.|[^"\\])*"/g;
let str = ' .. "test me" .. "Say \\"Hello\\"!" .. "\\\\ \\"" .. ';
alert( str.match(regexp) ); // "test me","Say \"Hello\"!","\\ \""