উত্তর:
gবিশ্বব্যাপী অনুসন্ধানের জন্য। মানে এটি সমস্ত ঘটনার সাথে মিলবে। আপনি সাধারণত দেখতে পাবেন iযার অর্থ কেস উপেক্ষা করুন।
রেফারেন্স: গ্লোবাল - জাভাস্ক্রিপ্ট | MDN
"জি" পতাকাটি নির্দেশ করে যে নিয়মিত এক্সপ্রেশনটি স্ট্রিংয়ের সমস্ত সম্ভাব্য ম্যাচের বিপরীতে পরীক্ষা করা উচিত।
gপতাকা ব্যতীত , এটি কেবল প্রথমটির জন্য পরীক্ষা করবে।
var r = /a/g; console.log(r.test('a'), r.test('a')); // true false
জাভাস্ক্রিপ্টে উদাহরণ হিসাবে ব্যাখ্যা:
> 'aaa'.match(/a/g)
[ 'a', 'a', 'a' ]
> 'aaa'.match(/a/)
[ 'a', index: 0, input: 'aaa' ]
g এটি বিশ্বব্যাপী অনুসন্ধান পতাকা।
বিশ্বব্যাপী অনুসন্ধান পতাকাটি স্ট্রিং জুড়ে কোনও নিদর্শনটির জন্য RegExp অনুসন্ধানকে তৈরি করে, প্রদত্ত প্যাটার্নটির সাথে মিলে যায় এমন সমস্ত উপস্থিতির একটি অ্যারে তৈরি করে।
মধ্যে পার্থক্য তাই /.+/gএবং /.+/ যে gসংস্করণ শুধুমাত্র প্রথম পরিবর্তে প্রতিটি ঘটনা পাবেন।
@ ম্যাটিস্কা যেমন উল্লেখ করেছেন, gপতাকাটি lastIndexসম্পত্তিটিকেও সেট করে ।
এর খুব গুরুত্বপূর্ণ একটি পার্শ্ব প্রতিক্রিয়া হ'ল যদি আপনি কোনও মিলের স্ট্রিংয়ের বিপরীতে একই রেজেক্সেক্স দৃষ্টান্তটি পুনরায় ব্যবহার করছেন তবে এটি শেষ পর্যন্ত ব্যর্থ হবে কারণ এটি কেবলমাত্র অনুসন্ধান শুরু করে lastIndex।
// regular regex
const regex = /foo/;
// same regex with global flag
const regexG = /foo/g;
const str = " foo foo foo ";
const test = (r) => console.log(
r,
r.lastIndex,
r.test(str),
r.lastIndex
);
// Test the normal one 4 times (success)
test(regex);
test(regex);
test(regex);
test(regex);
// Test the global one 4 times
// (3 passes and a fail)
test(regexG);
test(regexG);
test(regexG);
test(regexG);
gপতাকার অর্থ ইতিমধ্যে উল্লিখিত অর্থের পাশাপাশি এটি regexp.lastIndexসম্পত্তিকে প্রভাবিত করে :
লাস্ট ইন্ডেক্স হ'ল নিয়মিত প্রকাশের উদাহরণগুলির একটি পঠন / লেখার পূর্ণসংখ্যা সম্পত্তি যা পরবর্তী ম্যাচটি শুরু করতে হবে এমন সূচি নির্দিষ্ট করে। (...) নিয়মিত প্রকাশের উদাহরণটি যদি কোনও বিশ্বব্যাপী অনুসন্ধানের জন্য "জি" পতাকা ব্যবহার করে তবেই এই সম্পত্তিটি সেট করা থাকে।
তথ্যসূত্র: মজিলা বিকাশকারী নেটওয়ার্ক
নিয়মিত প্রকাশে জি একটি গ্লোবাল অনুসন্ধান সংজ্ঞায়িত করে, এর অর্থ এটি সমস্ত লাইনে সমস্ত দৃষ্টান্ত অনুসন্ধান করে।
g -> সমস্ত ম্যাচ ফেরতwithout g -> প্রথম ম্যাচ ফেরতউদাহরণ:
'1 2 1 5 6 7'.match(/\d+/)আয় ["1", index: 0, input: "1 2 1 5 6 7", groups: undefined]। আপনি যেমন দেখেন আমরা কেবল প্রথম ম্যাচ নিতে পারি"1" ।'1 2 1 5 6 7'.match(/\d+/g)সমস্ত ম্যাচের একটি অ্যারে ফেরত দেয় ["1", "2", "1", "5", "6", "7"]।