Regex স্পেস শুধুমাত্র নির্দিষ্ট সংখ্যা নির্বাচন করুন


2

আমি নোটপ্যাড ++ ব্যবহার করছি এবং আমি একটি সন্ধান করতে চাই & amp; অপারেশন প্রতিস্থাপন।
উদাহরণ স্বরূপ

  • স্পেস 4 সংখ্যা মানে 1 ট্যাব
  • স্পেসের 6 নম্বর মানে 2 ট্যাব ইত্যাদি।

আমার ফাইলে সব স্পেস প্রতিটি লাইনের শুরুতে হয়।

রেজেক্টের সঠিক সংখ্যা খুঁজতে আমি কী ব্যবহার করতে পারি?
আমি ট্যাবগুলির সাথে স্পেসগুলি প্রতিস্থাপন করতে চাই (যেমন 4 টি স্পেস বা 6 স্পেসের উপর ভিত্তি করে একক বা ডবল ট্যাব)

দ্রষ্টব্য: ফাইলটি একটি শ্রেণীবিভাগ ফাইল যা ব্যাখ্যা করে যে 4 টি স্থান পিতামাতা এবং 6 টি স্থান শিশু এবং 8 টি স্থান শিশুটির একটি শিশু।

ফাইলের একটি নমুনা:

Agriculture, forestry and fishing
 Crop and animal production, hunting and related service activities
   Growing of non perennial crops
     Growing of cereals (except rice), leguminous crops and oil seeds
     Growing of rice
     Growing of vegetables and melons, roots and tubers

1
4 spacs = 1 ট্যাব - 5 স্পেস = 2 ট্যাব - 7 স্পেস = 3 ট্যাব - 9 স্পেস = 4 ট্যাব
Ahmed AbuRa'ed

উত্তর:


3

একটি লাইনের শুরুতে শূণ্যস্থান সংখ্যা খুঁজে বের করতে regex এর সিনট্যাক্স হয়

 ^(space_character){number_of_spaces_to_be_found}

উদাহরণস্বরূপ, নিম্নলিখিত regex 4 স্পেস খুঁজে পাবেন
 ^ {4}

প্রতিস্থাপন বক্স ব্যবহার
"\t"
এক ট্যাব দিয়ে আপনার অনুসন্ধান প্রতিস্থাপন করার জন্য।
দুই ট্যাব জন্য ব্যবহার করুন
"\t\t"

হ্যাঁ কিন্তু এই regexp এছাড়াও 6 রেসেস বা 4 এর চেয়ে বেশি কোনও রেখা পাবেন যা আমি চাই কিনা তা যাচাই করতে চাই কিনা লাইনটির বাকি চারটি স্পেস বাকি থাকে (কোন অক্ষর)
Ahmed AbuRa'ed

একমত। আপনি ^ {6} ব্যবহার করতে পারেন এবং ডবল ট্যাব দিয়ে প্রতিস্থাপন করতে পারেন এবং তারপরে ^ {4} করুন এবং তাদের একক ট্যাব দিয়ে প্রতিস্থাপন করুন - আমি সম্মত হচ্ছি যে এটি সর্বোত্তম সমাধান নয় - আমি এখনও REGEX শিখছি
Prasanna

ইয়াপ আমি মনে করি সমস্যা সমাধান করবে। ধন্যবাদ
Ahmed AbuRa'ed

এক্সপ্রেশনটিতে $ চিহ্ন যোগ করার চেষ্টা করুন {{4} - যাতে এটি এই {{4} $ এর মত হয়ে যায়। এই যদি আপনার প্রশ্নের সমাধান - আমার উত্তর গ্রহণ করুন
Prasanna

ঠিক আছে আমি চারপাশে একটি কাজ করেছি এবং বাবা-মায়ে যাওয়া শেষ ক্লাসিফিকেশন থেকে শুরু করে এটি সমাধান করতে পরিচালনা করি। অবশেষে আমার বাবা-মা নিজে নিজে করতে হয়েছিল কারণ তারা ভুল পথে সনাক্ত হবেন কিন্তু সৌভাগ্যক্রমে তারা বাবা-মায়ের কাছ থেকে বেশি কিছু না তাই আমি নিজে নিজে তাদের কাজ করেছিলাম।
Ahmed AbuRa'ed

0

সম্ভবত নিম্নলিখিত প্যাটার্ন আপনি চান কি করতে হবে (কোণ বন্ধনী নিদর্শন চারপাশে):

চার নেতৃস্থানীয় স্পেস এক ট্যাব হয়ে ওঠে

Find: <^ {4}([^ ].*)$>
Replace: <\t\1>

ছয় নেতৃস্থানীয় স্পেস দুটি ট্যাব হয়ে ওঠে

Find: <^ {6}([^ ].*)$>
Replace <\t\t\1>

ব্যাখ্যা

  • অন্যান্য উত্তর হিসাবে উল্লিখিত, ^ একটি লাইন শুরু মেলে।
  • এছাড়াও উল্লিখিত, কোঁকড়া বন্ধনী নোটেশন {#} একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তি জন্য একটি ম্যাচ নির্দিষ্ট করে।
  • বর্গাকার বন্ধনী নিম্নলিখিত বিষয়বস্তু, [^ ], একটি অক্ষর শ্রেণী যা একক চরিত্রের সাথে মেলে যা একটি স্থান নয় (বর্গাকার বন্ধনী চরিত্র শ্রেণীকে সংজ্ঞায়িত করে; শীর্ষস্থানীয় ^ এখানে ক্লাস বিপরীত নির্দেশ করে)।
  • .*$ লাইনের শেষে পর্যন্ত কোনও অক্ষরের যেকোন সংখ্যক অক্ষর (সম্ভবত নতুন রেজাল্টগুলি কীভাবে রেজক্স ইঞ্জিন সেট আপ করা হয় তা সহ)।
  • চারপাশে বন্ধনী ([^ ].*) প্যাটার্নের মধ্যে একটি সংজ্ঞায়িত গোষ্ঠীকে নির্দেশ করে, যা (আশা করি, নোটপ্যাড ++- তে Regex ইঞ্জিনের উপর নির্ভর করে) প্রতিস্থাপন অভিব্যক্তি দ্বারা পুনরুদ্ধার করা হয়েছে \1
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.