এখানে রেজেক্স ওয়ান-লাইনার সংস্করণটি রয়েছে:
System.out.println(Arrays.toString(
"Thequickbrownfoxjumps".split("(?<=\\G.{4})")
));
\G
পূর্বের ম্যাচটি যেখানে শেষ হয়েছিল সেই অবস্থানের সাথে শূন্য-প্রস্থের প্রতিবেদন। যদি ছিল কোনো পূর্ববর্তী ম্যাচ, ইনপুট শুরুতে হিসাবে একই সাথে মেলে \A
। বদ্ধ চেহারাটি শেষ ম্যাচের শেষের সাথে চারটি অক্ষরের সাথে এমন অবস্থানের সাথে মেলে।
উভয় চেহারা এবং পিছনে \G
উন্নত regex বৈশিষ্ট্য, সমস্ত স্বাদ দ্বারা সমর্থিত নয়। তদ্ব্যতীত, \G
এটি সমর্থন করে যে স্বাদগুলি জুড়ে নিয়মিত প্রয়োগ করা হয় না। এই কৌশলটি জাভা , পার্ল,। নেট এবং জেজিফটগুলিতে কাজ করবে (উদাহরণস্বরূপ) , তবে পিএইচপি (পিসিআরই), রুবি ১.৯+ বা টেক্সটমেট (উভয়ই ওনিগুরুমা) নয়। জাভাস্ক্রিপ্টের /y
(স্টিকি ফ্ল্যাগ) এর মতো নমনীয় \G
নয় এবং জেএস লুক ব্যাককে সমর্থন করলেও এইভাবে ব্যবহার করা যায় না।
আমার উল্লেখ করা উচিত যে আপনার কাছে অন্য বিকল্প থাকলে আমি এই সমাধানটি অগত্যা সুপারিশ করি না । অন্যান্য উত্তরের নন-রেজেক্স সমাধানগুলি দীর্ঘ হতে পারে তবে সেগুলি স্ব-ডকুমেন্টিংও রয়েছে; এই ঠিক এর বিপরীত সম্পর্কে । ;)
এছাড়াও, এটি অ্যান্ড্রয়েডে কাজ করে না, যা \G
লুকবিহিন্ডগুলিতে ব্যবহার সমর্থন করে না ।