আমি সুপার ইউজারে এই প্রশ্নের উত্তর দিয়েছি যা কোনও আউটপুট গ্রেপ করার সময় ব্যবহৃত নিয়মিত প্রকাশের সাথে সম্পর্কিত related
আমি যে উত্তরটি দিয়েছিলাম তা হ'ল:
tail -f log | grep "some_string.*some_string"
এবং তারপরে, আমার উত্তর সম্পর্কে তিনটি মন্তব্যে @ Bob এটি লিখেছেন:
.*
লোভী এবং আপনি চান তার চেয়ে বেশি ক্যাপচার করতে পারে।.*?
সাধারণত ভাল হয়।
তারপর এই,
?
একটি পরিবর্তক হয়*
, এটা লোভী ডিফল্ট পরিবর্তে অলস করে। ধরে নিচ্ছি পিসিআরই।
আমি গুগল করেছিলাম PCRE
, তবে আমার উত্তরে এর তাত্পর্য কী পাওয়া গেল না?
এবং অবশেষে এটি,
আমার এটিও উল্লেখ করা উচিত যে এটি রেজেক্স (ডিফল্টরূপে POSIX রেজেক্স করছে গ্রেপ), শেল গ্লোব নয়।
আমি কেবল জানি রেজেক্স কী এবং গ্রেপ কমান্ডে এটির খুব বেসিক ব্যবহার। সুতরাং, আমি এই 3 টির মধ্যে একটিও মন্তব্য পেতে পারি নি এবং আমার মনে এই প্রশ্নগুলি রয়েছে:
.*?
বনাম ব্যবহারের পার্থক্য কী.*
?- কোনটি ভাল এবং কোন পরিস্থিতিতে? উদাহরণ প্রদান করুন।
এছাড়াও মন্তব্যগুলি বুঝতে সহায়ক হবে, যদি কেউ পারে
আপডেট: প্রশ্নের উত্তর হিসাবে কীভাবে শেল গ্লোবগুলি থেকে রেগেক্স আলাদা? @ কুসালানন্দ তার মন্তব্যে এই লিঙ্কটি সরবরাহ করেছেন।
দ্রষ্টব্য: যদি প্রয়োজন হয়, অনুগ্রহ করে রেফারেন্স দেওয়ার জন্য উত্তর দেওয়ার আগে এই প্রশ্নের আমার উত্তরটি পড়ুন ।
.*
.*?