আপনার দলের পরামর্শটি প্রায় সঠিক, ভুলটি বাদ দেওয়া হয়েছে except একবার আপনি কেন এটি খুঁজে বের করলে, আপনি কখনই তা ভুলে যাবেন না। এই ভুলটি একবার দেখুন।
/^(7|8|9)\d{9}$/
এটি কী করে:
^এবং $অ্যাঙ্করড ম্যাচগুলি বোঝায়, যা দাবি করে যে এই অ্যাঙ্গারগুলির মধ্যে থাকা সাবপ্যাটার্নটি পুরো ম্যাচ। স্ট্রিংটি কেবল তখনই মিলবে যদি সাব প্যাটার্নগুলি কেবলমাত্র একটি বিভাগ নয়, এর সম্পূর্ণতার সাথে মেলে।
()ক্যাপচারিং গ্রুপকে বোঝায় ।
7|8|9উল্লেখ করে উভয় মিলে 7, 8অথবা 9। এটি বিকল্পগুলির সাথে এটি করে , যা পাইপ অপারেটরটি |করে - বিকল্পগুলির মধ্যে পর্যায়ক্রমে। বিকল্পগুলির মধ্যে এই ব্যাকট্র্যাকস: প্রথম বিকল্পটি যদি না মিলে যায় তবে পরের বিকল্পটির সাথে ম্যাচ চালিয়ে যাওয়ার জন্য ইঞ্জিনটিকে বিকল্পের ম্যাচের সময় পয়েন্টারের অবস্থানটি সরিয়ে নেওয়ার আগে ফিরে আসতে হবে; যেখানে চরিত্র শ্রেণি ক্রমান্বয়ে অগ্রসর হতে পারে। অপটিমাইজেশন অক্ষম করে একটি রেজেক্স ইঞ্জিনে এই ম্যাচটি দেখুন:
Pattern: (r|f)at
Match string: carat

Pattern: [rf]at
Match string: carat

\d{9}নয়টি সংখ্যার সাথে মেলে। \dএকটি শর্টহ্যান্ডেড মেটাচার্যাক্টর, যা কোনও সংখ্যার সাথে মেলে।
/^[7|8|9][\d]{9}$/
এটি কি করে দেখুন:
^এবং $অ্যাঙ্কার্ড ম্যাচগুলিও বোঝায়।
[7|8|9]একটি চরিত্র শ্রেণি । তালিকা থেকে যে কোন অক্ষর 7, |, 8, |, অথবা 9ম্যাচ খেলতে পারে, এইভাবে |ভুল মধ্যে যোগ করা হয়েছিল। ব্যাকট্রাকিং ছাড়াই এটি মেলে।
[\d]একটি চরিত্র শ্রেণি যা মেটাচ্যারেক্টারে বাস করে \d। একটি অক্ষর শ্রেণীর এবং একটি একক মেটাচার্যাক্টারের ব্যবহারের সংমিশ্রণটি একটি খারাপ ধারণা, যাইহোক, বিমূর্ততার স্তরটি ম্যাচটি কমিয়ে আনতে পারে তবে এটি কেবল একটি বাস্তবায়ন বিশদ এবং কেবল কয়েকটি রেজেক্স বাস্তবায়নের ক্ষেত্রে প্রযোজ্য। জাভাস্ক্রিপ্ট এক নয়, তবে এটি সাবপ্যাটার্নটি কিছুটা দীর্ঘ করে দেয়।
{9} পূর্ববর্তী একক নির্মাণটি মোট নয় বার পুনরাবৃত্তি হয়েছে তা নির্দেশ করে।
অনুকূল রেজেেক্স /^[789]\d{9}$/কারণ, কারণ/^(7|8|9)\d{9}$/ অহেতুক ক্যাপচারগুলি যা বেশিরভাগ রেইজেক্স বাস্তবায়নের ক্ষেত্রে কার্যকারিতা হ্রাস চাপিয়ে দেয় (জাভাস্ক্রিপ্টপ্রশ্নটি varকোডে কীওয়ার্ড ব্যবহার করে বিবেচনা করে এক হতে পারে এটি সম্ভবত জাভাস্ক্রিপ্ট)। এর ব্যবহারপিএইচপিযা পিসিআরই-তে প্রি ম্যাচিংয়ের জন্য চালিত হয় তা ব্যাকট্রাকিংয়ের অভাব দূর করে দেয়, তবে আমরা হয় পিএইচপিতে নেই, সুতরাং []পরিবর্তনের পরিবর্তে ক্লাস ব্যবহার করা |ম্যাচ ব্যাকট্র্যাক না হওয়ায় পারফরম্যান্স বোনাস দেয় এবং তাই উভয় ম্যাচ এবং আপনার ব্যবহারের চেয়ে দ্রুত ব্যর্থ হয় পূর্ববর্তী নিয়মিত প্রকাশ।
(7|8|9)এবং[789]সমতুল্য নয়, কারণ প্রথমটি ক্যাপচার করছে, পরেরটি নয়।(?:7|8|9)অন্যদিকে সমান হবে (আমার ধারণা আপনি অবশ্যই জানেন যে ...)।