রেগুলার এক্সপ্রেশন প্যাটার্ন টেস্টার
ম্যাচ ফলাফল
ফলাফল দেখতে একটি প্যাটার্ন এবং টেক্সট লিখুন
প্যাটার্ন সংরক্ষণ করুন
ম্যাচ ফলাফল
ফলাফল দেখতে একটি প্যাটার্ন এবং টেক্সট লিখুন
সংরক্ষিত প্যাটার্ন
এখনো কোনো সংরক্ষিত প্যাটার্ন নেই
রেগুলার এক্সপ্রেশন চিহ্ন নির্দেশিকা
.
নতুন লাইনের ব্যতীত যেকোনো অক্ষর মেলে\d
যেকোনো সংখ্যা (0-9) মেলে\D
যেকোনো অঙ্কহীন অক্ষর মেলে\w
যেকোনো শব্দ অক্ষর (a-z, A-Z, 0-9, _) মেলে\W
যেকোনো অশব্দ অক্ষর মেলে\s
যেকোনো ফাঁকা অক্ষর মেলে\S
যেকোনো অ-ফাঁকা অক্ষর মেলে^
লাইনের শুরুতে মেলে$
লাইনের শেষে মেলে*
পূর্ববর্তী অক্ষরের 0 বা তার বেশি মেলে+
পূর্ববর্তী অক্ষরের 1 বা তার বেশি মেলে?
পূর্ববর্তী অক্ষরের 0 বা 1 মেলে{n}
পূর্ববর্তী অক্ষরের ঠিক n মেলে{n,}
পূর্ববর্তী অক্ষরের কমপক্ষে n মেলে{n,m}
পূর্ববর্তী অক্ষরের মধ্যে n এবং m মেলে[abc]
ব্র্যাকেটে থাকা যেকোনো একটি অক্ষর মেলে[^abc]
ব্র্যাকেটে না থাকা যেকোনো অক্ষর মেলে(abc)
একাধিক টোকেনকে একত্রিত করে এবং ম্যাচ ক্যাপচার করেa|b
বা a বা b মেলে\b
একটি শব্দ সীমার অবস্থান মেলেরেগুলার এক্সপ্রেশন প্যাটার্ন টেস্টার এবং ভ্যালিডেটর
পরিচিতি
একটি রেগুলার এক্সপ্রেশন (রেগেক্স) প্যাটার্ন টেস্টার ডেভেলপার, ডেটা বিশ্লেষক এবং টেক্সট প্রসেসিংয়ের সাথে কাজ করা যেকোনো ব্যক্তির জন্য একটি অপরিহার্য টুল। এই বিস্তৃত রেগেক্স প্যাটার্ন ভ্যালিডেটর আপনাকে রিয়েল-টাইমে নিয়মিত এক্সপ্রেশন তৈরি, পরীক্ষা এবং পরিশোধন করতে দেয়, প্যাটার্ন ম্যাচের উপর তাত্ক্ষণিক ভিজ্যুয়াল প্রতিক্রিয়া প্রদান করে। আপনি যদি ইমেল ঠিকানা যাচাই করছেন, লগ ফাইল পার্স করছেন, অথবা টেক্সট থেকে নির্দিষ্ট ডেটা বের করছেন, আমাদের রেগেক্স টেস্টার উন্নয়ন এবং ডিবাগিং প্রক্রিয়াকে দ্রুত এবং আরও স্বজ্ঞাত করে তোলে।
রেগুলার এক্সপ্রেশনগুলি শক্তিশালী প্যাটার্ন-ম্যাচিং সিকোয়েন্স যা জটিল টেক্সট অনুসন্ধান, যাচাইকরণ এবং ম্যানিপুলেশনকে সক্ষম করে। তবে, তাদের সিনট্যাক্স জটিল এবং মাস্টার করা চ্যালেঞ্জিং হতে পারে। এই রেগেক্স প্যাটার্ন টেস্টার প্রক্রিয়াটিকে সহজ করে তোলে, যখন আপনি টাইপ করেন তখন ম্যাচগুলি হাইলাইট করে, প্যাটার্ন সিনট্যাক্স যাচাই করে এবং ভবিষ্যতের রেফারেন্সের জন্য প্রায়শই ব্যবহৃত প্যাটার্নগুলি সংরক্ষণ করতে দেয়।
রেগেক্স প্যাটার্ন টেস্টার ব্যবহার করার উপায়
আমাদের রেগেক্স প্যাটার্ন ভ্যালিডেটর ব্যবহার করা সহজ এবং স্বজ্ঞাত। শুরু করতে এই পদক্ষেপগুলি অনুসরণ করুন:
-
একটি রেগুলার এক্সপ্রেশন প্যাটার্ন প্রবেশ করুন: নির্ধারিত ইনপুট ফিল্ডে আপনার রেগেক্স প্যাটার্ন টাইপ করুন। টুলটি রিয়েল-টাইমে আপনার প্যাটার্ন যাচাই করে, আপনাকে যেকোনো সিনট্যাক্স ত্রুটির জন্য সতর্ক করে।
-
রেগেক্স ফ্ল্যাগ নির্বাচন করুন: আপনার প্যাটার্নের জন্য উপযুক্ত ফ্ল্যাগগুলি নির্বাচন করুন:
g
(গ্লোবাল): প্রথম ম্যাচের পরে থামার পরিবর্তে সমস্ত ম্যাচ খুঁজুনi
(কেস ইনসেনসিটিভ): প্যাটার্নটিকে কেস-অবজ্ঞাত করুনm
(মাল্টিলাইন):^
এবং$
প্রতিটি লাইনের শুরু/শেষে ম্যাচ করে- এই ফ্ল্যাগগুলির বিভিন্ন সংমিশ্রণ ড্রপডাউনটিতে উপলব্ধ
-
টেস্ট টেক্সট ইনপুট করুন: আপনার প্যাটার্নের বিরুদ্ধে পরীক্ষা করতে চান এমন টেক্সটটি টেস্ট টেক্সট এলাকায় প্রবেশ করুন।
-
রিয়েল-টাইমে ফলাফল দেখুন: আপনি টাইপ করার সাথে সাথে, টুলটি স্বয়ংক্রিয়ভাবে:
- টেস্ট টেক্সটে সমস্ত প্যাটার্ন ম্যাচ হাইলাইট করে
- পাওয়া মোট ম্যাচের সংখ্যা প্রদর্শন করে
- নির্দেশ করে যে প্যাটার্নটি পুরো টেক্সটের সাথে মেলে কিনা
-
গুরুত্বপূর্ণ প্যাটার্নগুলি সংরক্ষণ করুন: আপনি যে প্যাটার্নগুলি প্রায়ই ব্যবহার করেন:
- আপনার প্যাটার্নের জন্য একটি বর্ণনামূলক লেবেল প্রবেশ করুন
- "সংরক্ষণ করুন" বোতামে ক্লিক করুন
- "সংরক্ষিত প্যাটার্ন" বিভাগ থেকে আপনার সংরক্ষিত প্যাটার্নগুলি অ্যাক্সেস করুন
-
ফলাফল কপি করুন: "ম্যাচ কপি করুন" বোতামটি ব্যবহার করে সমস্ত ম্যাচ করা টেক্সট আপনার ক্লিপবোর্ডে কপি করুন যাতে আপনি অন্যান্য অ্যাপ্লিকেশনে ব্যবহার করতে পারেন।
ইন্টারফেসটি দুটি প্রধান প্যানেলে বিভক্ত: ইনপুট প্যানেল যেখানে আপনি আপনার প্যাটার্ন এবং টেস্ট টেক্সট প্রবেশ করেন, এবং ফলাফল প্যানেল যা ম্যাচ এবং প্যাটার্ন তথ্য প্রদর্শন করে।
রেগুলার এক্সপ্রেশন বেসিকস
রেগুলার এক্সপ্রেশনগুলি বিশেষ অক্ষর এবং সিকোয়েন্স ব্যবহার করে অনুসন্ধান প্যাটার্নগুলি সংজ্ঞায়িত করতে। এখানে আমাদের টুল দ্বারা সমর্থিত মৌলিক রেগেক্স প্রতীকগুলির একটি গাইড:
অক্ষর ম্যাচিং
প্রতীক | বর্ণনা | উদাহরণ | ম্যাচ |
---|---|---|---|
. | নতুন লাইনের ব্যতীত যেকোনো অক্ষর ম্যাচ করে | a.c | "abc", "adc", "a1c", ইত্যাদি। |
\d | যেকোনো সংখ্যা (0-9) ম্যাচ করে | \d{3} | "123", "456", "789", ইত্যাদি। |
\D | যেকোনো অ-সংখ্যা ম্যাচ করে | \D+ | "abc", "xyz", ইত্যাদি। |
\w | যেকোনো শব্দ অক্ষর (a-z, A-Z, 0-9, _) ম্যাচ করে | \w+ | "abc123", "test_123", ইত্যাদি। |
\W | যেকোনো অ-শব্দ অক্ষর ম্যাচ করে | \W+ | "!@#", " + ", ইত্যাদি। |
\s | যেকোনো সাদা অক্ষর ম্যাচ করে | a\sb | "a b", "a\tb", ইত্যাদি। |
\S | যেকোনো অ-সাদা অক্ষর ম্যাচ করে | \S+ | "abc", "123", ইত্যাদি। |
পজিশন অ্যাঙ্কর
প্রতীক | বর্ণনা | উদাহরণ | ম্যাচ |
---|---|---|---|
^ | লাইনের শুরুতে ম্যাচ করে | ^abc | একটি লাইনের শুরুতে "abc" |
$ | লাইনের শেষে ম্যাচ করে | abc$ | একটি লাইনের শেষে "abc" |
\b | একটি শব্দের সীমানায় ম্যাচ করে | \bword\b | "word" একটি সম্পূর্ণ শব্দ হিসাবে |
কোয়ানটিফায়ার
প্রতীক | বর্ণনা | উদাহরণ | ম্যাচ |
---|---|---|---|
* | পূর্ববর্তী অক্ষরের 0 বা তার বেশি ম্যাচ করে | a*b | "b", "ab", "aab", ইত্যাদি। |
+ | পূর্ববর্তী অক্ষরের 1 বা তার বেশি ম্যাচ করে | a+b | "ab", "aab", "aaab", ইত্যাদি। |
? | পূর্ববর্তী অক্ষরের 0 বা 1 ম্যাচ করে | colou?r | "color", "colour" |
{n} | পূর্ববর্তী অক্ষরের ঠিক nটি ম্যাচ করে | a{3} | "aaa" |
{n,} | পূর্ববর্তী অক্ষরের অন্তত nটি ম্যাচ করে | a{2,} | "aa", "aaa", "aaaa", ইত্যাদি। |
{n,m} | পূর্ববর্তী অক্ষরের n থেকে m এর মধ্যে ম্যাচ করে | a{2,4} | "aa", "aaa", "aaaa" |
অক্ষরের শ্রেণী
প্রতীক | বর্ণনা | উদাহরণ | ম্যাচ |
---|---|---|---|
[abc] | ব্র্যাকেটে থাকা যেকোনো একটি অক্ষর ম্যাচ করে | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | ব্র্যাকেটে না থাকা যেকোনো অক্ষর ম্যাচ করে | [^aeiou] | "a", "e", "i", "o", "u" বাদে যেকোনো অক্ষর |
[a-z] | পরিসরে থাকা যেকোনো অক্ষর ম্যাচ করে | [a-z] | যেকোনো ছোট হাতের অক্ষর |
গ্রুপিং এবং বিকল্প
প্রতীক | বর্ণনা | উদাহরণ | ম্যাচ |
---|---|---|---|
(abc) | একাধিক টোকেনকে একত্রিত করে এবং ম্যাচ ক্যাপচার করে | (abc)+ | "abc", "abcabc", ইত্যাদি। |
a|b | বা b এর যেকোনো একটি ম্যাচ করে | cat|dog | "cat", "dog" |
উন্নত রেগেক্স প্যাটার্ন
একবার আপনি মৌলিক বিষয়গুলি আয়ত্ত করলে, আপনি জটিল টেক্সট প্রসেসিং চ্যালেঞ্জগুলি সমাধান করতে আরও জটিল প্যাটার্ন তৈরি করতে পারেন:
ইমেল যাচাইকরণ
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
এই প্যাটার্নটি ইমেল ঠিকানাগুলি যাচাই করে নিশ্চিত করে যে সেগুলি মানক ফরম্যাট অনুসরণ করে: username@domain.tld।
URL যাচাইকরণ
^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
এই প্যাটার্নটি URL যাচাই করে, http/https প্রোটোকল সহ বা ছাড়া।
ফোন নম্বর যাচাইকরণ (মার্কিন ফরম্যাট)
^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
এই প্যাটার্নটি বিভিন্ন ফরম্যাটে মার্কিন ফোন নম্বরগুলি ম্যাচ করে: (123) 456-7890, 123-456-7890, অথবা 1234567890।
তারিখ যাচাইকরণ (YYYY-MM-DD)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
এই প্যাটার্নটি YYYY-MM-DD ফরম্যাটে তারিখগুলি যাচাই করে, মাস এবং দিনের পরিসরের জন্য মৌলিক যাচাইকরণের সাথে।
লুকআহেড এবং লুকবিহাইন্ড
লুকআহেড এবং লুকবিহাইন্ড অ্যাসারশনগুলি আপনাকে প্যাটার্নগুলি ম্যাচ করতে দেয় শুধুমাত্র যদি সেগুলি অন্য প্যাটার্ন দ্বারা অনুসরণ বা পূর্ববর্তী হয়:
- পজিটিভ লুকআহেড:
a(?=b)
"a" কে ম্যাচ করে শুধুমাত্র যদি এটি "b" দ্বারা অনুসরণ করা হয় - নেগেটিভ লুকআহেড:
a(?!b)
"a" কে ম্যাচ করে শুধুমাত্র যদি এটি "b" দ্বারা অনুসরণ না করা হয় - পজিটিভ লুকবিহাইন্ড:
(?<=a)b
"b" কে ম্যাচ করে শুধুমাত্র যদি এটি "a" দ্বারা পূর্ববর্তী হয় - নেগেটিভ লুকবিহাইন্ড:
(?<!a)b
"b" কে ম্যাচ করে শুধুমাত্র যদি এটি "a" দ্বারা পূর্ববর্তী না হয়
রেগেক্স ফ্ল্যাগের সাথে কাজ করা
আমাদের রেগেক্স টেস্টার বিভিন্ন ফ্ল্যাগ সমর্থন করে যা প্যাটার্নের ম্যাচ করার পদ্ধতিকে পরিবর্তন করে:
- g (গ্লোবাল): প্রথম ম্যাচের পরে থামার পরিবর্তে সমস্ত ম্যাচ খুঁজুন
- i (কেস ইনসেনসিটিভ): প্যাটার্নটিকে কেস-অবজ্ঞাত করুন
- m (মাল্টিলাইন):
^
এবং$
প্রতিটি লাইনের শুরু/শেষে ম্যাচ করে - সংমিশ্রণ: আপনি আরও জটিল ম্যাচিং প্রয়োজনীয়তার জন্য ফ্ল্যাগগুলি সংমিশ্রণ করতে পারেন
রেগেক্স প্যাটার্ন টেস্টিংয়ের ব্যবহার
রেগুলার এক্সপ্রেশনগুলির বিভিন্ন ক্ষেত্র জুড়ে অনেক ব্যবহারিক অ্যাপ্লিকেশন রয়েছে:
ওয়েব ডেভেলপমেন্ট
-
ফর্ম যাচাইকরণ: ব্যবহারকারীর ইনপুটগুলি প্রয়োজনীয় ফরম্যাটের সাথে মেলে তা নিশ্চিত করুন:
- ইমেল ঠিকানা:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
- পাসওয়ার্ড (জটিলতার প্রয়োজনীয়তা সহ):
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
- URL:
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
- ইমেল ঠিকানা:
-
এইচটিএমএল পার্সিং: নির্দিষ্ট উপাদান বা বৈশিষ্ট্যগুলি বের করুন:
- সমস্ত ইমেজ ট্যাগ খুঁজুন:
<img[^>]+src="([^">]+)"
- লিঙ্ক বের করুন:
<a[^>]+href="([^">]+)"
- সমস্ত ইমেজ ট্যাগ খুঁজুন:
ডেটা প্রসেসিং
-
লগ ফাইল বিশ্লেষণ: লগ এন্ট্রিগুলি থেকে তথ্য বের করুন:
- IP ঠিকানা:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
- টাইমস্ট্যাম্প:
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
- ত্রুটি বার্তা:
ERROR: .*
- IP ঠিকানা:
-
CSV পার্সিং: সম্ভাব্য উদ্ধৃত ক্ষেত্রগুলির সাথে কমা-বিচ্ছিন্ন মানগুলি প্রক্রিয়া করুন:
- CSV ক্ষেত্র ম্যাচার:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
- CSV ক্ষেত্র ম্যাচার:
টেক্সট প্রসেসিং
-
ফাইন্ড এবং রিপ্লেস: প্রতিস্থাপনের জন্য প্যাটার্ন চিহ্নিত করুন:
- এইচটিএমএল ট্যাগগুলি সরান:
<[^>]*>
- ফোন নম্বর ফরম্যাট করুন:
(\d{3})(\d{3})(\d{4})
→($1) $2-$3
- এইচটিএমএল ট্যাগগুলি সরান:
-
বিষয়বস্তু বের করা: অগঠিত টেক্সট থেকে নির্দিষ্ট তথ্য বের করুন:
- তারিখ বের করুন:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
- অর্থমূল্য খুঁজুন:
\$\d+(?:\.\d{2})?
- তারিখ বের করুন:
প্রোগ্রামিং এবং কোডিং
-
সিনট্যাক্স হাইলাইটিং: ভাষার নির্মাণগুলি চিহ্নিত করুন:
- জাভাস্ক্রিপ্ট ভেরিয়েবল:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
- ফাংশন সংজ্ঞাগুলি:
function\s+([a-zA-Z_$][\w$]*)\s*\(
- জাভাস্ক্রিপ্ট ভেরিয়েবল:
-
কোড রিফ্যাক্টরিং: আপডেট করার জন্য প্রয়োজনীয় প্যাটার্নগুলি খুঁজুন:
- পুরনো API কল:
\.oldMethod\(
- অরক্ষিত ফাংশন:
eval\(
- পুরনো API কল:
প্যাটার্ন সংরক্ষণ এবং পরিচালনা
আমাদের রেগেক্স প্যাটার্ন টেস্টারে একটি প্যাটার্ন ব্যবস্থাপনা সিস্টেম রয়েছে যা আপনাকে আপনার প্রায়শই ব্যবহৃত এক্সপ্রেশনগুলি সংরক্ষণ এবং পুনরায় ব্যবহার করতে দেয়:
প্যাটার্ন কখন সংরক্ষণ করবেন
প্যাটার্নগুলি সংরক্ষণ করার কথা বিবেচনা করুন যা:
- আপনি বিভিন্ন প্রকল্প জুড়ে প্রায়ই ব্যবহার করেন
- জটিল এবং মনে রাখা কঠিন
- আপনার কাজের নির্দিষ্ট যাচাইকরণ উদ্দেশ্যে
- আপনি একাধিক পুনরাবৃত্তির পরে পরিশোধিত করেছেন
প্যাটার্ন লেবেলের জন্য সেরা অভ্যাস
প্যাটার্নগুলি সংরক্ষণ করার সময়, বর্ণনামূলক লেবেল ব্যবহার করুন যা:
- প্যাটার্নের উদ্দেশ্য নির্দেশ করে (যেমন, "ইমেল ভ্যালিডেটর")
- নির্দিষ্ট ফরম্যাট উল্লেখ করে (যেমন, "মার্কিন ফোন নম্বর")
- আপনি যদি প্যাটার্নগুলিতে পুনরাবৃত্তি করেন তবে সংস্করণ তথ্য অন্তর্ভুক্ত করুন (যেমন, "URL ভ্যালিডেটর v2")
- সংক্ষিপ্ত কিন্তু তথ্যবহুল
প্যাটার্ন সংগঠন
আপনার সংরক্ষিত প্যাটার্নগুলি সংগঠিত করুন:
- কার্যকারিতা (যাচাইকরণ, নিষ্কাশন, প্রতিস্থাপন)
- ডোমেন (ওয়েব ডেভেলপমেন্ট, ডেটা প্রসেসিং)
- জটিলতা (মৌলিক, উন্নত)
- ব্যবহারের ফ্রিকোয়েন্সি
প্যাটার্ন শেয়ারিং
যদিও আমাদের টুল ব্যবহারকারীদের মধ্যে প্যাটার্ন শেয়ারিং সরাসরি সমর্থন করে না, আপনি:
- সহকর্মীদের সাথে শেয়ার করার জন্য প্যাটার্নগুলি কপি করুন
- আপনার প্যাটার্নগুলি একটি শেয়ার করা রেপোজিটরিতে নথিভুক্ত করুন
- প্রকল্পের ডকুমেন্টেশনে প্যাটার্নের বর্ণনা অন্তর্ভুক্ত করুন
সাধারণ রেগেক্স সমস্যাগুলির সমাধান
অভিজ্ঞ ডেভেলপাররাও রেগুলার এক্সপ্রেশন নিয়ে চ্যালেঞ্জের মুখোমুখি হন। এখানে সাধারণ সমস্যাগুলির সমাধান রয়েছে:
সিনট্যাক্স ত্রুটি
যদি আপনার প্যাটার্ন একটি যাচাইকরণ ত্রুটি দেখায়:
- অমিলিত বন্ধনীর, ব্র্যাকেট বা ব্রেসের জন্য পরীক্ষা করুন
- নিশ্চিত করুন যে বিশেষ অক্ষরগুলি ব্যাকস্ল্যাশ দিয়ে সঠিকভাবে পালিত হয়েছে
- যাচাইকরণকারী অক্ষরের আগে একটি পূর্ববর্তী অক্ষর বা গ্রুপ রয়েছে কিনা তা নিশ্চিত করুন
- অকার্যকর অক্ষরের শ্রেণীর সিনট্যাক্সের জন্য দেখুন
পারফরম্যান্স সমস্যা
যদি আপনার রেগেক্স ধীর হয় বা ব্রাউজারের ল্যাগ সৃষ্টি করে:
- নেস্টেড কোয়ানটিফায়ারগুলির অত্যধিক ব্যবহার এড়িয়ে চলুন (যেমন,
(a+)+
) - বড় টেক্সটগুলিতে লুকআহেড এবং লুকবিহাইন্ড নিয়ে সতর্ক থাকুন
- আরও নির্দিষ্ট প্যাটার্নগুলি ব্যবহার করার কথা বিবেচনা করুন পরিবর্তে বিস্তৃত প্যাটার্নগুলি
- জটিল প্যাটার্নগুলিকে ছোট, আরও পরিচালনযোগ্য অংশে ভেঙে ফেলুন
অপ্রত্যাশিত ম্যাচ
যদি আপনার প্যাটার্ন অপ্রয়োজনীয় টেক্সট ম্যাচ করে:
- পুরো স্ট্রিং ম্যাচ করার জন্য অ্যাঙ্করগুলি (
^
এবং$
) ব্যবহার করুন - অক্ষরের শ্রেণীগুলিকে আরও নির্দিষ্ট করুন
- যেখানে প্রয়োজন সেখানে শব্দের সীমানা (
\b
) যোগ করুন - কিছু প্যাটার্ন বাদ দেওয়ার জন্য নেগেটিভ লুকআহেড ব্যবহার করুন
ম্যাচ পাওয়া যায়নি
যদি আপনার প্যাটার্ন প্রত্যাশিত টেক্সট ম্যাচ না করে:
- কেস সংবেদনশীলতার সমস্যা পরীক্ষা করুন (i ফ্ল্যাগ ব্যবহার করার কথা বিবেচনা করুন)
- নিশ্চিত করুন যে বিশেষ অক্ষরগুলি সঠিকভাবে পালিত হয়েছে
- প্রথমে সহজ উদাহরণগুলিতে আপনার প্যাটার্নটি পরীক্ষা করুন
- নিশ্চিত করুন যে আপনি সঠিক অক্ষরের শ্রেণী ব্যবহার করছেন
রেগুলার এক্সপ্রেশনগুলির বিকল্প
যদিও রেগেক্স শক্তিশালী, এটি প্রতিটি টেক্সট প্রসেসিং কাজের জন্য সর্বদা সেরা সমাধান নয়:
স্ট্রিং মেথড
সরল টেক্সট অপারেশনের জন্য, স্থানীয় স্ট্রিং মেথডগুলি প্রায়শই পরিষ্কার এবং আরও কার্যকর:
String.indexOf()
সাবস্ট্রিং খুঁজতেString.startsWith()
এবংString.endsWith()
স্ট্রিংয়ের সীমানা পরীক্ষা করতেString.split()
মৌলিক টোকেনাইজেশনের জন্য
বিশেষায়িত পার্সার
গঠনমূলক ডেটা ফরম্যাটের জন্য, নিবেদিত পার্সারগুলি আরও দৃঢ়:
- JSON পার্সার JSON ডেটার জন্য
- XML/এইচটিএমএল পার্সার মার্কআপ ভাষার জন্য
- CSV পার্সার টেবিলার ডেটার জন্য
প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (এনএলপি)
টেক্সটের অর্থ বোঝার জন্য, শুধুমাত্র প্যাটার্ন নয়:
- অনুভূতি বিশ্লেষণ টুল
- নামিত সত্তা স্বীকৃতি
- অংশ-অব-স্পিচ ট্যাগিং
বিকল্পগুলি নির্বাচন করার সময়
রেগেক্সের বিকল্পগুলি বিবেচনা করুন যখন:
- টেক্সটের গঠন অত্যন্ত নিয়মিত এবং সহজ
- ফরম্যাটের জন্য একটি মানক পার্সার উপলব্ধ রয়েছে
- আপনাকে অর্থগত অর্থ বোঝার প্রয়োজন
- খুব বড় টেক্সটগুলির জন্য পারফরম্যান্স গুরুত্বপূর্ণ
প্রায়শই জিজ্ঞাসিত প্রশ্ন
রেগুলার এক্সপ্রেশন কী?
একটি রেগুলার এক্সপ্রেশন (রেগেক্স) হল অক্ষরের একটি সিকোয়েন্স যা একটি অনুসন্ধান প্যাটার্ন সংজ্ঞায়িত করে। এই প্যাটার্নগুলি স্ট্রিং অনুসন্ধান, ম্যাচিং এবং টেক্সট ম্যানিপুলেশন অপারেশনগুলির জন্য ব্যবহার করা যেতে পারে।
আমি কেন একটি রেগেক্স প্যাটার্ন টেস্টারের প্রয়োজন?
একটি রেগেক্স প্যাটার্ন টেস্টার আপনাকে নিয়মিত এক্সপ্রেশনগুলি তৈরি এবং ডিবাগ করতে সাহায্য করে তাত্ক্ষণিক ভিজ্যুয়াল প্রতিক্রিয়া প্রদান করে, প্যাটার্ন সিনট্যাক্স যাচাই করে এবং আপনাকে কোডে প্রথমে প্রয়োগ করার আগে বিভিন্ন প্যাটার্ন এবং ফ্ল্যাগগুলির সাথে পরীক্ষা করার অনুমতি দেয়।
আমি কীভাবে একটি লিটারাল বিশেষ অক্ষর যেমন ডট বা অ্যাস্টেরিস্ক ম্যাচ করব?
যে বিশেষ অক্ষরগুলি সাধারণত রেগেক্সে বিশেষ অর্থ রাখে সেগুলি ম্যাচ করার জন্য, আপনাকে সেগুলি একটি ব্যাকস্ল্যাশ দিয়ে পালিত করতে হবে। উদাহরণস্বরূপ, একটি লিটারাল ডট ম্যাচ করতে, \.
ব্যবহার করুন কেবল .
এর পরিবর্তে।
একটি রেগেক্স প্যাটার্নে .*
এবং .*?
এর মধ্যে পার্থক্য কী?
.*
একটি লোভী কোয়ানটিফায়ার যা যতটা সম্ভব বেশি অক্ষর ম্যাচ করে, যখন .*?
একটি অলস (অলস) কোয়ানটিফায়ার যা যতটা সম্ভব কম অক্ষর ম্যাচ করে। এই পার্থক্যটি গুরুত্বপূর্ণ যখন আপনি দীর্ঘতম ম্যাচের পরিবর্তে সবচেয়ে সংক্ষিপ্ত ম্যাচ খুঁজতে চান।
আমি কি এই রেগেক্স টেস্টারটি যেকোনো প্রোগ্রামিং ভাষায় প্যাটার্নগুলির জন্য ব্যবহার করতে পারি?
যদিও মূল রেগেক্স সিনট্যাক্স অনেক ভাষায় অনুরূপ, বাস্তবায়নে সূক্ষ্ম পার্থক্য রয়েছে। আমাদের টেস্টার জাভাস্ক্রিপ্টের রেগেক্স ইঞ্জিন ব্যবহার করে, যা অনেক ওয়েব ভাষার সাথে সামঞ্জস্যপূর্ণ তবে পাইটন, জাভা বা পার্লের মতো ভাষায় রেগেক্স থেকে পার্থক্য থাকতে পারে।
আমি কীভাবে একটি সম্পূর্ণ স্ট্রিং রেগেক্স দিয়ে যাচাই করব?
একটি সম্পূর্ণ স্ট্রিং একটি প্যাটার্নের সাথে মেলে তা যাচাই করতে, আপনার রেগেক্সের শুরুতে ^
অ্যাঙ্কর এবং শেষে $
অ্যাঙ্কর ব্যবহার করুন। উদাহরণস্বরূপ, ^[0-9]+$
কেবলমাত্র সেই স্ট্রিংগুলিকে ম্যাচ করবে যা সম্পূর্ণরূপে সংখ্যার।
ক্যাপচারিং গ্রুপ কী এবং আমি কীভাবে সেগুলি ব্যবহার করব?
ক্যাপচারিং গ্রুপগুলি, যা বন্ধনী ()
দিয়ে তৈরি হয়, আপনাকে ম্যাচ করা টেক্সটের নির্দিষ্ট অংশগুলি বের করতে দেয়। আমাদের টেস্টারে, আপনি সমস্ত ম্যাচ দেখতে পারেন, ক্যাপচার করা গ্রুপ সহ। প্রোগ্রামিং ভাষায়, আপনি সাধারণত ম্যাচ ফলাফলের সূচক ব্যবহার করে এই ক্যাপচারগুলি অ্যাক্সেস করতে পারেন।
আমি কীভাবে আমার রেগেক্স প্যাটার্নগুলি আরও কার্যকরী করতে পারি?
রেগেক্সের কার্যকারিতা উন্নত করতে: অক্ষরের শ্রেণী নিয়ে নির্দিষ্ট হন, অপ্রয়োজনীয় ক্যাপচারিং গ্রুপগুলি এড়িয়ে চলুন (যখন সম্ভব হয় অ-ক্যাপচারিং গ্রুপগুলি (?:...)
ব্যবহার করুন), লুকআহেড/লুকবিহাইন্ডের ব্যবহার সীমিত করুন, এবং বিপর্যয়কর ব্যাকট্র্যাকিং প্যাটার্নগুলি যেমন নেস্টেড কোয়ানটিফায়ারগুলি এড়িয়ে চলুন।
সবচেয়ে সাধারণ রেগেক্স ভুলগুলি কী কী?
সাধারণ ভুলগুলির মধ্যে রয়েছে: বিশেষ অক্ষরগুলি পালানো হচ্ছে না, প্যাটার্নগুলি খুব লোভী হয়ে উঠছে, প্যাটার্নগুলি অ্যাঙ্কর করতে ভুলে যাওয়া (যেমন ^
এবং $
), এবং অত্যধিক জটিল এক্সপ্রেশন লেখা যা বজায় রাখা কঠিন।
রেগেক্স কি HTML-এর মতো নেস্টেড কাঠামো পরিচালনা করতে পারে?
রেগুলার এক্সপ্রেশনগুলি HTML বা XML-এর মতো নেস্টেড কাঠামো পার্স করার জন্য ভালভাবে উপযুক্ত নয়। যদিও আপনি সহজ HTML ম্যাচিংয়ের জন্য রেগেক্স প্যাটার্ন তৈরি করতে পারেন, জটিল HTML প্রসেসিংয়ের জন্য নিবেদিত HTML পার্সার ব্যবহার করা সাধারণত আরও ভাল।
রেফারেন্স
- Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
- Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
- "Regular expression." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Regular_expression
- MDN Web Docs. "Regular Expressions." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- RegExr: Learn, Build, & Test RegEx. https://regexr.com/
আজই আমাদের রেগেক্স প্যাটার্ন টেস্টারটি চেষ্টা করুন আপনার টেক্সট প্রসেসিং কাজগুলি সহজতর করতে, ইনপুট ফরম্যাট যাচাই করতে এবং অগঠিত টেক্সট থেকে অর্থপূর্ণ ডেটা বের করতে। আপনি যদি রেগুলার এক্সপ্রেশনগুলির মৌলিক বিষয়গুলি শিখছেন বা জটিল প্যাটার্ন ম্যাচিংয়ের উপর কাজ করছেন, আমাদের টুলটি আপনাকে কার্যকরভাবে আপনার রেগেক্স প্যাটার্ন তৈরি, পরীক্ষা এবং পরিশোধন করার জন্য প্রয়োজনীয় বৈশিষ্ট্যগুলি প্রদান করে।