অক্ষরের সংখ্যা 10 এ সীমাবদ্ধ করার জন্য নিয়মিত অভিব্যক্তি


187

আমি একটি নিয়মিত এক্সপ্রেশন লিখতে চেষ্টা করছি যা কেবল ছোট হাতের অক্ষর এবং 10 টি পর্যন্ত অক্ষরকে মঞ্জুরি দেয়। আমার এখন পর্যন্ত যা আছে তা দেখতে এটির মতো দেখাচ্ছে:

pattern: /^[a-z]{0,10}+$/ 

এটি কাজ করে না বা সংকলন করে না। আমার একটি কর্মক্ষম ছিল যা কেবল ছোট অক্ষরগুলিকে অনুমতি দিত যা এটি ছিল:

pattern: /^[a-z]+$/ 

তবে আমার অক্ষরের সংখ্যা 10 এ সীমাবদ্ধ করা দরকার।


4
{} এবং + একই জিনিস (গণনা) করে, সুতরাং এগুলি অপ্রয়োজনীয়, সুতরাং ত্রুটি।
ফিলিহো

1
আপনার '/' থেকে / ^ [এজে] {0,10} + $ / থেকে ড্রপ করা উচিত। এটি হওয়া উচিত / ^ [এজেড] {0,10} $ /
এসও ব্যবহারকারী

1
নোট করুন যে ^[a-z]{0,10}+$কয়েকটি ভাষাতে নকশার সংকলন রয়েছে এবং কয়েকটি জাভা, পার্ল (5.10+), পিএইচপি, রুবি (1.9+)। আরও বিস্তারিত জানার জন্য এই পৃষ্ঠাটি দেখুন ।
জেরি

লুক হেডের মাধ্যমে সর্বজনীন সমাধানটিও দেখুন: নিয়মিত অভিব্যক্তিতে চরিত্রের দৈর্ঘ্যের সীমাবদ্ধকরণ
ভাদজিম

উত্তর:


353

সংঘর্ষের সংখ্যাটি নিয়ন্ত্রণ করতে আপনি কোঁকড়া ধনুর্বন্ধনী ব্যবহার করতে পারেন। উদাহরণস্বরূপ, এর অর্থ 0 থেকে 10:

/^[a-z]{0,10}$/

বিকল্পগুলি হ'ল:

  • {3} ঠিক 3 টি ঘটনা;
  • {6, least কমপক্ষে 6 টি ঘটনা;
  • 5 2,5} 2 থেকে 5 টি ইভেন্ট।

দেখুন রেগুলার এক্সপ্রেশন রেফারেন্স

আপনার অভিব্যক্তিটি বন্ধ হয়ে যাওয়া কোঁকড়া ধনুর্বন্ধনী পরে একটি ছিল + সুতরাং ত্রুটি।


সঙ্গে জলন্ত আমি শুরুতে ommit ছিল Chrome ডেভ সরঞ্জাম ^মত একটি নাম দিয়ে সম্পত্তি ম্যাচ কেবলমাত্র অনুরোধ 1234বা 5678, এবং আমি $ চিহ্ন অন্তর্ভুক্ত করা ছিল
Devin জি রোড

11

/^[a-z]{0,10}$/কাজ করা উচিত. /^[a-z]{1,10}$/আপনি যদি কমপক্ষে একটি চরিত্রের সাথে মিল রাখতে চান /^[a-z]+$/তবে করুন।


9

স্ট্রিংয়ের শেষে লোভী মেলানো যুক্ত হওয়া উপকারী হতে পারে, সুতরাং আপনি স্ট্রিং> 10 এর চেয়ে বেশি গ্রহণ করতে পারবেন এবং রেজেক্স কেবল প্রথম 10 অক্ষরে ফিরে আসবে। /^[a-z0-9]{0,10}$?/


8

এটি আপনি যে প্রোগ্রামটি ব্যবহার করছেন তার উপর এটি নির্ভর করে। ভিন্ন প্রোগ্রাম ( এ গিয়ে Emacs , ষষ্ঠ , sed এবং পার্ল ) কিছুটা ভিন্ন রেগুলার এক্সপ্রেশনের ব্যবহার করুন। এই ক্ষেত্রে, আমি বলব যে প্রথম প্যাটার্নে, শেষ "+" অপসারণ করা উচিত।


7
grep '^[0-9]\{1,16\}' | wc -l

সীমা সহ নির্ভুল ম্যাচের গণনা সহ গণনা দেয়

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