উত্তর:
নিম্নলিখিত ব্যবহার:
/^\d*\.?\d*$/
^ - লাইনের শুরু;\d* - 0 বা তার বেশি সংখ্যা;\.?- একটি alচ্ছিক বিন্দু (পালানো, কারণ রেগেক্সে, .একটি বিশেষ চরিত্র);\d* - 0 বা তার বেশি সংখ্যা (দশমিক অংশ);$ - লাইনের শেষ।এটি 0.5.র মতো শীর্ষস্থানীয় শূন্যের পরিবর্তে .5 দশমিকের জন্য অনুমতি দেয়
/^\d*\.?\d+$/যা দশমিক পয়েন্টের পরে একটি অঙ্ককে বাধ্য করবে।
/\d+\.?\d*/
এক বা একাধিক সংখ্যা ( \d+), periodচ্ছিক সময়কাল ( \.?), শূন্য বা আরও বেশি অঙ্ক ( \d*)।
আপনার ব্যবহার বা রেজেক্স ইঞ্জিনের উপর নির্ভর করে আপনার শুরু / শেষ লাইন অ্যাঙ্কারগুলি যুক্ত করতে হতে পারে:
/^\d+\.?\d*$/

.এবং খালি স্ট্রিংয়ের সাথে মেলে ।
-নয়।
এটি যথাযথভাবে সম্পাদন করতে আপনার নীচের মত একটি নিয়মিত মত প্রকাশের প্রয়োজন:
/^[+-]?((\d+(\.\d*)?)|(\.\d+))$/
প্রসারিত পরিবর্তক (পার্ল দ্বারা সমর্থিত) ব্যবহার করে হোয়াইটস্পেসের সাথে একই অভিব্যক্তি:
/^ [+-]? ( (\d+ (\.\d*)?) | (\.\d+) ) $/x
বা মন্তব্য সহ:
/^ # Beginning of string
[+-]? # Optional plus or minus character
( # Followed by either:
( # Start of first option
\d+ # One or more digits
(\.\d*)? # Optionally followed by: one decimal point and zero or more digits
) # End of first option
| # or
(\.\d+) # One decimal point followed by one or more digits
) # End of grouping of the OR options
$ # End of string (i.e. no extra characters remaining)
/x # Extended modifier (allows whitespace & comments in regular expression)
উদাহরণস্বরূপ, এটি মিলবে:
এবং এই অ-সংখ্যাগুলি প্রত্যাখ্যান করবে:
সহজ সমাধানগুলি ভুলভাবে বৈধ সংখ্যাগুলি প্রত্যাখ্যান করতে পারে বা এই নন-সংখ্যাগুলির সাথে মেলে।
^A?(B|C)$। পূর্বে, এটি এর মতো লেখা হয়েছিল ^A?B|C$যার অর্থ আসলে (^A?B)|(C$)যা ভুল ছিল। দ্রষ্টব্য: ^(A?B|C)$এছাড়াও ভুল, কারণ এর প্রকৃত অর্থ ^((A?B)|(C))$যা "+.5" এর সাথে মেলে না।
এই রেজেক্স ব্যবহার করে দেখুন:
\d+\.?\d*
\ D + ঐচ্ছিক দশমিক সামনে ডিজিটের
।? alচ্ছিক দশমিক (
দশমিকের পরে quচ্ছিক) qu d * alচ্ছিক অঙ্কগুলি
123.
আমি মনে করি এটি সবচেয়ে ভাল কারণ এটি সমস্ত প্রয়োজনীয়তার সাথে মেলে:
^\d+(\\.\d+)?$
আমি নিম্নলিখিত ব্যবহার করে শেষ:
^\d*\.?\d+$
এটি নিম্নলিখিতটি অবৈধ করে তোলে:
.
3.
.3
আপনি এটি ব্যবহার করতে পারেন:
^\d+(\.\d)?\d*$
ম্যাচগুলি:
11
11.1
0.2
মেলে না:
2
2.
2.6.9
এটাই আমি করেছি। এটি উপরের যে কোনওটির চেয়ে বেশি কঠোর (এবং কিছুটির চেয়ে বেশি সঠিক):
^0$|^[1-9]\d*$|^\.\d+$|^0\.\d*$|^[1-9]\d*\.\d*$
স্ট্রিংগুলি যা পাস:
0
0.
1
123
123.
123.4
.0
.0123
.123
0.123
1.234
12.34
স্ট্রিংগুলি যা ব্যর্থ হয়:
.
00000
01
.0.
..
00.123
02.134
^[+-]?(([1-9][0-9]*)?[0-9](\.[0-9]*)?|\.[0-9]+)$
লোকেরা সাধারণত একটি সুগঠিত দশমিক সংখ্যা হিসাবে কী মনে করে তা প্রতিফলিত করা উচিত।
দশমিক পয়েন্টের পূর্বে অঙ্কগুলি হয় একক অঙ্কের হতে পারে, এক্ষেত্রে এটি 0 থেকে 9 অবধি বা একাধিক অঙ্কের হতে পারে, সেক্ষেত্রে এটি 0 দিয়ে শুরু করতে পারে না।
দশমিক চিহ্নের আগে যদি কোনও অঙ্ক উপস্থিত থাকে তবে দশমিক এবং এর পরে অঙ্কগুলি alচ্ছিক। অন্যথায়, একটি দশমিক উপস্থিত থাকতে হবে তারপরে কমপক্ষে একটি অঙ্কের। দ্রষ্টব্য যে একাধিক পিছনে 0 এর দশমিক বিন্দুর পরে অনুমোদিত।
grep -E '^[+-]?(([1-9][0-9]*)?[0-9](\.[0-9]*)?|\.[0-9]+)$'
সঠিকভাবে নিম্নলিখিতগুলির সাথে মেলে:
9
0
10
10.
0.
0.0
0.100
0.10
0.01
10.0
10.10
.0
.1
.00
.100
.001
পাশাপাশি তাদের স্বাক্ষরযুক্ত সমতুল্য, যেখানে এটি নিম্নলিখিতগুলি প্রত্যাখ্যান করে:
.
00
01
00.0
01.3
এবং তাদের স্বাক্ষরযুক্ত সমতুল্য পাশাপাশি খালি স্ট্রিং।
(?<![^d])\d+(?:\.\d+)?(?![^d])
পরিষ্কার এবং সহজ।
এটি প্রত্যয় এবং উপসর্গ, RegEx বৈশিষ্ট্য ব্যবহার করে।
এটি সরাসরি সত্য দেয় - ইসম্যাচ শর্তের জন্য মিথ্যা
^\d+(()|(\.\d+)?)$
এ নিয়ে এসেছি। পূর্ণসংখ্যা এবং দশমিক উভয়কেই অনুমতি দেয় তবে আপনি দশমিক প্রবেশ করানোর সিদ্ধান্ত নিলে একটি সম্পূর্ণ দশমিক (শীর্ষস্থানীয় এবং পেছনের সংখ্যা) জোর করে।
আপনি যা জিজ্ঞাসা করেছেন সেটির উত্তর ইতিমধ্যে দেওয়া হয়েছে সুতরাং optionচ্ছিক দশমিক বিন্দু প্রবেশ করা হলে যারা কেবলমাত্র 2 দশমিক সংখ্যা চান তাদের জন্য এটি কেবলমাত্র একটি অতিরিক্ত তথ্য:
^\d+(\.\d{2})?$
^: স্ট্রিংটির শুরু
\ d: একটি অঙ্ক ([0-9] এর সমান)
+: এক এবং সীমাহীন সময়
ক্যাপচারিং গ্রুপ (। \ D {2})?
? : শূন্য এবং এক বার : চরিত্র।
\ d: একটি অঙ্ক ([0-9] এর সমান)
{2}: ঠিক 2 বার
$: স্ট্রিংয়ের শেষ
1: ম্যাচ
123: ম্যাচ
123.00: ম্যাচ
123.: কোনও ম্যাচ
123 ..: কোনও মিল নেই
123.0: কোনও মিল নেই
123.000: কোনও মিল নেই
123.00.00: কোনও মিল নেই
পার্লে, রেজিএক্সএক্স :: সাধারণ ব্যবহার করুন যা আপনাকে আপনার নির্দিষ্ট নম্বর বিন্যাসের জন্য একটি সূক্ষ্ম সুরযুক্ত নিয়মিত এক্সপ্রেশন একত্রিত করার অনুমতি দেবে। আপনি যদি পার্ল ব্যবহার না করেন তবে উত্পন্ন নিয়মিত প্রকাশটি এখনও অন্য ভাষা ব্যবহার করতে পারে।
Regexp :: সাধারণ :: সংখ্যাতে উদাহরণ হিসাবে নিয়মিত এক্সপ্রেশন তৈরির ফলাফল মুদ্রণ করা হচ্ছে:
$ perl -MRegexp::Common=number -E 'say $RE{num}{int}'
(?:(?:[-+]?)(?:[0123456789]+))
$ perl -MRegexp::Common=number -E 'say $RE{num}{real}'
(?:(?i)(?:[-+]?)(?:(?=[.]?[0123456789])(?:[0123456789]*)(?:(?:[.])(?:[0123456789]{0,}))?)(?:(?:[E])(?:(?:[-+]?)(?:[0123456789]+))|))
$ perl -MRegexp::Common=number -E 'say $RE{num}{real}{-base=>16}'
(?:(?i)(?:[-+]?)(?:(?=[.]?[0123456789ABCDEF])(?:[0123456789ABCDEF]*)(?:(?:[.])(?:[0123456789ABCDEF]{0,}))?)(?:(?:[G])(?:(?:[-+]?)(?:[0123456789ABCDEF]+))|))
এটা চেষ্টা কর. ^[0-9]\d{0,9}(\.\d{1,3})?%?$এটা আমার জন্য পরীক্ষিত এবং কাজ করা হয়।