রেজেক্স দুটি শব্দের একটির সাথে মিলছে


301

আমার কাছে একটি ইনপুট রয়েছে যা কেবলমাত্র 2 টি মান appleবা থাকতে পারে banana। দুটি শব্দ দুটিই জমা দেওয়া হয়েছে তা নিশ্চিত করার জন্য আমি কোন নিয়মিত অভিব্যক্তি ব্যবহার করতে পারি?


2
কোন ভাষা / পরিবেশে এই রেজেক্স প্রয়োগ করা হচ্ছে? রেজেক্স অনেক পরিস্থিতিতে অপ্রয়োজনীয় ওভারহেডের মতো মনে হয়।
— মিকম্যাকুসা

উত্তর:


467

এটি করবে:

/^(apple|banana)$/

থেকে বাদ বন্দী স্ট্রিং (যেমন থেকে $1, $2):

(?:apple|banana)

43
কারও কারও কাছে এটি অ-ক্যাপচারিং গ্রুপ হিসাবে ব্যবহার করা কার্যকর হবে। ব্যবহারটি (?:apple|banna)মিলবে তবে তা ক্যাপচারিত স্ট্রিংগুলির তালিকায় যুক্ত করবে না (যেমন $1, $2.. $N)।
— two1ejack

হাই দ্রুত প্রশ্ন, আমি আপেলবানানা মেলে না চাইলে আমার কী করা উচিত?
— গ্রোভার রেয়েস

উপরের রেজেক্সগুলি আপেল এবং কলা মেলে, তবে আপেলবানানার সাথে মেলে না।
— ফুলগ্রাটোস

99

বিভিন্ন রেজেক্স ইঞ্জিন রয়েছে তবে আমি মনে করি তাদের বেশিরভাগই এটির সাথে কাজ করবে:

apple|banana

55
আপনি আপনার Regex আরও লাগাতে চান, আপনি ভালো আপনার শব্দ প্রায় প্রথম বন্ধনী করা, প্রয়োজন হবে: (apple|banana)।
— ব্রায়ান জে

তবে কীভাবে এটিকে সংবেদনশীল করবেন?
— নীতীশ

re.IGNORECASEপতাকা সঙ্গে সেট । উদাহরণস্বরূপ:re.compile("(apple|banana)", re.IGNORECASE)
— Troels Ynddal

-8

/.txt|.tif/ডিরেক্টরি মনিটরের জন্য 'ফাইলের নাম ম্যাচ' সনাক্ত করতে নিয়মিত এক্সপ্রেশনটি সাইটস্কোপে ব্যবহার করা যেতে পারে যখন দুটি ভিন্ন ধরণের ফাইল অনুসন্ধান করা হয়- ফাইলগুলি .txt বা .if এ শেষ হয় files

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.