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


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.