ভিমে দুটি অনুরূপ স্ট্রিংগুলির মধ্যে একটির কীভাবে সন্ধান করবেন?


29

ভিমে, আমি যদি এমন কোনও অনুসন্ধান করতে চাই যা "প্ল্যানএ" বা "প্ল্যানবি" এর সাথে মেলে, আমি জানি যে আমি এটি করতে পারি:

/plan[AB]

এটি কাজ করে কারণ রেজেক্স এ বা বি এর দুটি অক্ষরের সেট হিসাবে অনুমতি দেয়।

তবে আমি দুটি সম্পূর্ণ স্ট্রিংয়ের মধ্যে কীভাবে একটি নির্দিষ্ট করতে পারি? উদাহরণস্বরূপ, "প্ল্যানেটস আশ্চর্য" বা "প্ল্যানেটরিওয়্যার"?

এটি "গ্রাথ অ্যানিথিংহিয়েরএইংএলংএএসএসজাস্টজাস্টলেটস" এর সাথে এই দুটির সাথেই মিলবে:

planet\([a-zA-Z]*\)

আমি কিভাবে মেলাতে পারে শুধুমাত্র স্ট্রিং ম্যাচের "planetAwesome" বা "planetTerrible" ঠিক?


আসলে, বন্ধনীগুলি একটি অক্ষর শ্রেণি তৈরি করে। plan[ABC]ম্যাচ planA, planBএবং planCসমানভাবে ভাল।
ক্রিস্টোফার বটমস

@ মলসিকিউলস - ঠিক আছে, ধন্যবাদ। আমি প্রশ্ন আপডেট।
নাথান লং

উত্তর:


43
/planet\(Awesome\|Terrible\)

প্রাসঙ্গিক ডকুমেন্টেশন দেখতে, ইস্যু করুন :help /এবং "একটি প্যাটার্নের সংজ্ঞা" বিভাগে স্ক্রোল করুন।


1
আহ! আমি যখন চেষ্টা করেছি তখন আমি প্রথম বন্ধনীর হাত থেকে রক্ষা পাচ্ছিলাম না। আকর্ষণীয় - আমি ভেবেছিলাম আমার কেবল আক্ষরিক চরিত্রগুলি থেকে বাঁচতে হবে।
নাথান লং

1
@ নাথান: বিভিন্ন রেজেক্স ইঞ্জিনগুলির বিভিন্ন নিয়ম রয়েছে যার সম্পর্কে বিশেষ অক্ষর তৈরি করতে অক্ষরগুলি রক্ষা করতে হবে them এগুলিকে আক্ষরিক করার জন্য অবশ্যই পালাতে হবে (উদাহরণস্বরূপ পসিক্স বিআরই বনাম পূর্ববর্তী)। আপনি বিশেষ বেরিয়ে এক অন্তর্ভুক্ত করে প্রতি প্যাটার্ন ভিত্তিতে তেজ মধ্যে পলায়নের প্রয়োজনীয়তা বদলাতে পারেন: \m, \M, \v, অথবা\V । রয়েছে 'magic'বিকল্প , কিন্তু এটা একা এটা ছেড়ে চলে যেতে, যেহেতু এটি বিশ্বব্যাপী প্রভাব রয়েছে (যদি না উপরে পতাকার এক দ্বারা অধিলিখিত) সাধারণত ভাল হয়।
ক্রিস জনসেন

1
খুব যাদু ব্যবহার করে এটির মতো মনে হচ্ছে:/\vplanet(Awesome|Terrible)
সেরজিওআরাউজো

4

গিলসের উত্তরে যুক্ত করতে আপনি সেখানে কয়েকটি জিনিস যুক্ত করতে চাইতে পারেন:

/\<planet\(Awesome\|Terrible\)\>

\<একটি 'শব্দের' শুরুর চিহ্ন চিহ্নিত করে (মূলত বর্ণানুক্রমিক)
\>একটি 'শব্দের' শেষে (মূলত বর্ণানুক্রমিক) চিহ্নিত করে

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