আমি এমন একটি regexপ্যাটার্ন খুঁজছি যা প্রতিটি চরিত্রের তৃতীয়, চতুর্থ, ... এর সাথে মিলবে। স্পষ্টতার জন্য নীচে দেখুন:
উদাহরণস্বরূপ আমার কাছে নিম্নলিখিত স্ট্রিং রয়েছে:
111aabbccxccybbzaa1
আমি দ্বিতীয় ঘটনার পরে সমস্ত সদৃশ অক্ষরগুলি প্রতিস্থাপন করতে চাই। আউটপুটটি হবে:
11-aabbccx--y--z---
আমি এখনও পর্যন্ত চেষ্টা করেছি এমন কিছু রেজেক্স প্যাটার্ন:
নীচের রেজেক্স ব্যবহার করে আমি প্রতিটি চরিত্রের শেষ ঘটনাটি খুঁজে পেতে পারি: (.)(?=.*\1)
বা এটি ব্যবহার করে আমি এটি টানা ডুপ্লিকেটগুলির জন্য করতে পারি তবে কোনও নকলের জন্য নয়: ([a-zA-Z1-9])\1{2,}
(.)(?<=^(?:(?:(?!\1).)*\1){2,}(?:(?!\1).)*\1)রেগেক্স সহ ব্যবহার করুন । ডেমো ।
(.)(?<=(.*\1){3})?
(.)(?<=(?:.*\1){3})করবেন, তবে এগুলি ভাল নয় কারণ অতিরিক্ত ব্যাকট্র্যাকিংয়ের ফলে দীর্ঘতর স্ট্রিংয়ের সমস্যা হতে পারে। আমি বরং সমস্যাটি সমাধান করার জন্য একটি নন-রেজেক্স পদ্ধতি লিখতাম।
(.)(?<=(?:.*\1){3})25ms, (.)(?<=(?:\1.*?){2}\1)3ms। আপনি শুধু নিজেকে পরীক্ষা করতে পারেন। আপনার মনে হয় এটি সবচেয়ে কম দক্ষ প্যাটার্ন এবং এটি পড়া সবচেয়ে কঠিন।