নিয়মিত ভাব প্রকাশের মাধ্যমে / কী করা উচিত? [বন্ধ]


13

আমি সম্প্রতি নিয়মিত ভাব প্রকাশ করেছি এবং সেগুলি লিখতে / ব্যবহার করতে পছন্দ করি। আমি তাদের ব্যবহার করার জন্য ধারণা এবং আরও বেশি সুযোগের সন্ধান করছি, তবে আমি প্রায়শই লোকদের দ্বারা সতর্ক করে দেওয়া হিসাবে, সমস্ত উদ্দেশ্যমূলক সরঞ্জাম হিসাবে তাদের অতিরিক্ত ব্যবহার করতে চাই না।

কোন ধরণের জিনিসগুলির জন্য আমার নিয়মিত ভাব প্রকাশ করা উচিত এবং আমি সেগুলি কোথায় ব্যবহার করব না? (স্পষ্টত: HTML পার্সিং ব্যতীত) ars


6
প্রয়োজনীয় উক্তি: কিছু লোক, যখন সমস্যার মুখোমুখি হয়, তখন "আমি জানি, আমি নিয়মিত অভিব্যক্তি ব্যবহার করব" think এখন তারা দুটি সমস্যা আছে। (তবে প্রসঙ্গের জন্য কোডিংহরর.com/blog/2008/06/… দেখুন )
স্টিভেন এ। লো

1
নিয়মিত প্রকাশের সাথে আপনি কেবল একটাই করতে পারেন: নিয়মিত ভাষার শব্দগুলি শোনান। এটা এত সহজ। এই কারণে প্রোগ্রামারকে ভাষা ক্লাস সম্পর্কে কিছু ধারণা থাকতে হবে এবং নিয়মিত ভাষা সনাক্ত করতে সক্ষম হওয়া জরুরি।
ইনগো

2
আপনি যখন ifএটিতে ব্যবহার করতে চান তখন মূলত আপনি নিয়মিত এক্সপ্রেশন ব্যবহার করতে চান না।

উত্তর:


4

যেখানে তারা জ্বলজ্বল করছে সেখানে আপনার স্ট্রিংয়ের সংজ্ঞা রয়েছে যা ভালভাবে সংজ্ঞায়িত এবং সোজাসাপ্টা, সুতরাং আপনি উভয়ই (ক) যাচাই করতে পারবেন যে কোনও ইনপুট প্যাটার্নটির সাথে মেলে এবং (খ) সেই ইনপুট থেকে প্যাটার্নের সমস্ত অংশগুলি বের করে নিতে পারে, একটি একক regex অপারেশন।

উদাহরণস্বরূপ, দু'টি একক-বর্ণচিহ্ন সনাক্তকারী (যার মধ্যে একটির তিনটি বিকল্প ছিল, অন্যটি কোনও আলফা হতে পারে), একটি তারিখ এবং তার পরে একটি দুটি অঙ্কের সংখ্যার চেয়ে নির্দিষ্ট দিনগুলিতে আমাকে নির্দিষ্ট কোডগুলি নিয়ে কাজ করার দরকার হয়েছিল just : এমআর_20110508_01

৪ জন নামযুক্ত গোষ্ঠী সহ একটি সরল রেগেক্স আমাকে একক কল করতে সক্ষম করেছিল যা উভয়ই ইনকামিং কোডটি বৈধ ছিল কিনা তা যাচাই করে এবং 4 টি নাম্বার গোষ্ঠী দিয়েছিল যে আমি 4 টি টুকরো টানতে সক্ষম হয়েছি।

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


15

বেশিরভাগ স্ট্রিং ম্যাচিংয়ের কাজগুলি নিয়মিত অভিব্যক্তি থেকে উপকৃত হতে পারে। আপনি যখন এটি মিলে যাওয়া বলা বন্ধ করেন এবং এটিকে পার্সিং বলা শুরু করেন, নিয়মিত প্রকাশগুলি এতটা সহায়ক হয় না। সাধারণত এটি কারণ যখন লোকেরা বাসা বাঁধতে বা অন্য পুনরাবৃত্তি জড়িত থাকে যখন নিয়মিত প্রকাশগুলি পরিচালনা করতে পারে না তখন এটি পার্সিং বলে।

সম্ভবত আমি যে জায়গাটি সবচেয়ে বেশি ব্যবহার করি, যেখানে কিছু লোক সচেতন নয় যে তারা উপলব্ধ, তারা যখনই আমার কোডিংটি দ্রুত যেতে সহায়তা করে ততবারই এটি আমার কোডের কাছে এনে দেয় না।


4
+1, "যখন এটি ম্যাচিং থেকে পার্সিংয়ের দিকে যায়" এটিকে রাখার দুর্দান্ত উপায়।
কারসন 63000

4

আমার উত্তর নেতিবাচক মধ্যে: নিয়মিত প্রকাশের সাথে একটি পার্সার (উদাহরণস্বরূপ, এইচটিএমএল জন্য ) লেখার চেষ্টা করবেন না । আপনি তাদের সাথে সব ধরণের দরকারী তথ্য আহরণ করতে পারেন, তবে কিছু জিনিস রয়েছে যা আপনি করতে পারবেন না । আমি এসকিউএল, সি এবং পাইথনের সাথে সামঞ্জস্য রেখে রিজেক্সপ্সকে বিবেচনা করি - এটি আধুনিক কম্পিউটিংয়ের অন্যতম বিল্ডিং ব্লক।


সি এবং পাইথন আধুনিক কম্পিউটিংয়ের বিল্ডিং ব্লক নয়;)
8:58

1
লিঙ্কযুক্ত প্রথম হওয়ার জন্য +1, ভাল, যে ... জিনিসটি
জন পুর্ডি

1
@ ক্লিক: আসলে, তারা। সি তে শক্ত ভিত্তি না করে লিনাক্স কার্নেলে কিছু করার চেষ্টা করুন এবং পাইথন হিসাবে ... আইএমএনএসএইচও, ৩০ টিরও বেশি ভাষার আমার অভিজ্ঞতার ভিত্তিতে এটি যে কোনও ভাষাতেই দ্বিতীয় স্থানে রয়েছে cra
পিটার রওয়েল

4

আমি বলতে চাই যে একটি গল্প বলুন সাইন আপনি যখন বাসা বাঁধতে পারে এমন কিছু প্রয়োজন হয় তখন একটি রেজেক্স কাজ করবে না। যেমন একটি প্রোগ্রামিং ভাষা (বা এইচটিএমএল / এক্সএমএল / ইত্যাদি)। একবার আপনি বাসা বাঁধতে শুরু করার পরে আপনার স্টেটটি সংরক্ষণ করতে হবে এবং একটি রাষ্ট্রীয় মেশিন ব্যবহার করতে হবে।

এছাড়াও আপনি যদি এখানে ই-মেইলের জন্য রেজেক্সের দিকে তাকান তবে আপনি দেখতে পাবেন যে রেজেক্সগুলি দ্রুত অপঠনযোগ্য হতে পারে। কখনও কখনও আপনি নিয়মিত এক্সপ্রেশন ব্যবহার করতে পারেন, ব্যাকরণ ব্যবহার করে বিষয়গুলি আরও স্পষ্ট করে তোলে। এমনকি সরল রেগেক্সগুলি দিয়েও আপনি দ্রুত এমন কিছু তৈরি করা শুরু করতে পারেন যা পড়া / বজায় রাখা শক্ত।

অতিরিক্তভাবে এমন অনেকগুলি কাজ রয়েছে যার জন্য রেজেেক্সের প্রয়োজন হয় না। উদাহরণস্বরূপ, আপনি নিয়মিত এক্সপ্রেশন ব্যবহার করে কমা দ্বারা পৃথক ক্ষেত্রগুলির একটি স্ট্রিংকে বিভক্ত করতে পারেন তবে স্ট্রিং.স্প্লিট (",") বলতে এটি আরও সহজ। সাধারণত একটি রেজেক্সের একাধিক পদক্ষেপ / অনুসন্ধানের প্রয়োজন হয় যখন বিভাজন এটি একটি বিবৃতিতে এটি করে। এছাড়াও একটি সাধারণ অনুসন্ধানের জন্য অনুসন্ধানের রুটিনে অন্তর্নির্মিত ব্যবহার করা আরও দক্ষ এবং আরও স্পষ্ট হবে।


1
অন্যদিকে, আপনি যদি পুরো জিনিসটি বিশ্লেষণের প্রয়োজন না হয় আপনি HTML এ রেজেক্স ব্যবহার করতে পারেন ... উদাহরণস্বরূপ যদি কোনও নির্দিষ্ট ফর্ম্যাটে পৃষ্ঠায় কোনও টেবিল থাকে তবে আপনি সম্ভবত এটি দ্রুত পার্স করার জন্য একটি রেজেক্স ব্যবহার করতে পারেন। তবে আপনার যদি এমন কোনও এইচটিএমএল ডকুমেন্ট বোঝার দরকার হয় যা নির্বিচারে বাসা বাঁধতে পারে ... এটি ভুলে যান। উদাহরণস্বরূপ, কোনও মন্তব্যে <<< ট্যাগ ট্যাগ, বা ভুলভাবে শরীরে কোনও <td> ট্যাবের ভিতরে? আপনি বলতে পারবেন না ... সত্যিই বাসা বাঁধার এক বা দুটি স্তরের জন্য আপনি একটি রেজেেক্স তৈরি করতে পারেন। আসল সমস্যাটি নির্বিচারে বাসা বাঁধাই ... সাধারণ ক্ষেত্রে আপনি কেবল তার জন্য একটি প্রকাশ করতে পারবেন না ...
সারভো

3

আমি যে লক্ষ্য মধ্যে স্ল্যাশ করতে পারেন এবং উচিত আপনার প্রশ্নের এটা সবচেয়ে গুরুত্বপূর্ণ অংশ নিম্নরেখা নয়: দুই এর মধ্যে পার্থক্য।

এমন কিছু জিনিস রয়েছে যা রেগেক্সপসে করা যায় যা তাদের সাথে করা উচিত নয়। একটি উদাহরণ নিম্নলিখিত regexp ব্যবহার করা হয়:

^([07]|6[29]*3|(5|6[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))|(3|6[29]*6|(5|6[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(5|4[29]*3|(3|4[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3)))|([29]|6[29]*5|(5|6[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(3|6[29]*6|(5|6[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))(3|[07][29]*5|(6|[07][29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))*([18]|[07][29]*3|(6|[07][29]*[18])(4|5[29]*[18])*(6|5[29]*3)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(5|4[29]*3|(3|4[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))))|([18]|6[29]*4|(5|6[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4))|(3|6[29]*6|(5|6[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(6|4[29]*4|(3|4[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)))|([29]|6[29]*5|(5|6[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(3|6[29]*6|(5|6[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))(3|[07][29]*5|(6|[07][29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))*([29]|[07][29]*4|(6|[07][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(6|4[29]*4|(3|4[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)))))(5|3[29]*4|([29]|3[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4))|([07]|3[29]*6|([29]|3[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(6|4[29]*4|(3|4[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)))|(6|3[29]*5|([29]|3[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|([07]|3[29]*6|([29]|3[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))(3|[07][29]*5|(6|[07][29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))*([29]|[07][29]*4|(6|[07][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(6|4[29]*4|(3|4[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)))))*(4|3[29]*3|([29]|3[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))|([07]|3[29]*6|([29]|3[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(5|4[29]*3|(3|4[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3)))|(6|3[29]*5|([29]|3[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|([07]|3[29]*6|([29]|3[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))(3|[07][29]*5|(6|[07][29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))*([18]|[07][29]*3|(6|[07][29]*[18])(4|5[29]*[18])*(6|5[29]*3)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(5|4[29]*3|(3|4[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))))))*$

যা দশমিক সংখ্যার সাথে মিলিয়ে যায় 7 দ্বারা বিভাজ্য (এবং কেবলমাত্র সেইগুলি; উত্স )।


4
সেই নিয়মিত অভিব্যক্তি পার্স করার জন্য আপনার কি নিয়মিত প্রকাশ আছে? কারণ আমি তা করতে অক্ষম।
সুইভ

1
@ এসভিক আরবিট্রি নিয়মিত এক্সপ্রেশনগুলি নিয়মিত এক্সপ্রেশন দ্বারা পার্স করা যায় না। তবে আমি অনুমান করেছি যে আপনি এটি ইতিমধ্যে জানতেন।
জাস্টসাল্ট

2

এখানে কোন কঠোর এবং দ্রুত নিয়ম নেই তবে আমি বলব যে কোনও পাঠ্য রক্ষার কাজ রয়েছে যার লাইব্রেরি নেই যা রেগেক্সের জন্য উপযুক্ত। আপনি যে ভাষাটি ব্যবহার করছেন তাতে এটি রেগেক্স সাপোর্টের উপরও নির্ভর করে। পারেলের রেগেক্সগুলির জন্য বিস্তৃত সমর্থন রয়েছে এবং জাভা এর কম রয়েছে। অতএব আপনি জাভাের চেয়ে পার্লে আরও বেশি রেগেক্স ব্যবহার করবেন বলে আশা করবেন।


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