কীভাবে ব্যবহার করবেন
- দুটি slash-এর মধ্যে pattern লিখুন, অথবা প্রচলিত pattern-গুলোর একটি দিয়ে শুরু করুন।
- g, i, m, s, u, y flag চালু বা বন্ধ করে matching কীভাবে হবে তা বদলান।
- আপনার test text পেস্ট করুন। মিলগুলো হাইলাইট হবে এবং position ও group-সহ তালিকায় দেখানো হবে।
- search-and-replace-এর ফলাফল preview করতে $1 বা $<name>-এর মতো replacement লিখুন।
অপশনগুলোর ব্যাখ্যা
- g (global)
- প্রথম মিলেই থেমে না গিয়ে প্রতিটি মিল খুঁজে বের করে। মিলের তালিকায় সব মিল সবসময় দেখানো হয়; replacement-এ g প্রভাব ফেলে।
- i (ignore case)
- অক্ষরের বড় বা ছোট হাতের ধরন উপেক্ষা করে মিল খোঁজে।
- m (multiline)
- ^ এবং $ পুরো লেখার বদলে প্রতিটি লাইনের শুরু ও শেষে মিলবে।
- s (dotAll)
- .-ও line break-এর সঙ্গে মিলবে।
- u (unicode)
- pattern-কে Unicode code point হিসেবে ধরে; এতে \p{…} property escape চালু হয় এবং emoji সঠিকভাবে সামলানো যায়।
- y (sticky)
- শুধু আগের মিল শেষ হওয়া ঠিক সেই position-এ মিল খোঁজে।
দ্রুত রেফারেন্স
| সিনট্যাক্স | যা মেলে |
|---|---|
\d \w \s |
অঙ্ক, word character, whitespace |
[abc] [^abc] [a-z] |
একটি, কোনোটিই নয়, পরিসর |
* + ? {2,5} |
0 বা তার বেশি, 1 বা তার বেশি, 0 বা 1, 2 থেকে 5-এর মধ্যে |
*? +? |
Lazy — যত কম সম্ভব |
^ $ \b |
শুরু, শেষ, word boundary |
(…) (?:…) (?<name>…) |
capture, non-capturing, named group |
(?=…) (?!…) (?<=…) (?<!…) |
lookahead, negative lookahead, lookbehind, negative lookbehind |
\p{L} \p{Script=Han} |
যেকোনো অক্ষর, চীনা অক্ষর (u flag সহ) |
উদাহরণ
Pattern (?<user>[\w.+-]+)@(?<domain>[\w-]+(?:\.[\w-]+)+)-এ ada@example.com চালালে user = ada এবং domain = example.com পাওয়া যায়; replacement $<domain>/$<user> থেকে example.com/ada তৈরি হয়।
সচরাচর জিজ্ঞাসিত প্রশ্ন
এটি কোন regex flavour ব্যবহার করে?
এটি আপনার ব্রাউজারে বাস্তবায়িত JavaScript (ECMAScript 2024) ব্যবহার করে। বেশিরভাগ syntax PCRE, Python ও Java-র সঙ্গে অভিন্ন, তবে lookbehind, named group ও Unicode escape engine ভেদে সামান্য আলাদা; তাই আপনি যে ভাষা ব্যবহার করবেন, তাতে পরীক্ষা করুন।
Pattern থামিয়ে দেওয়ার বার্তা কেন দেখাল?
দীর্ঘ a-র স্ট্রিংয়ে (a+)+$-এর মতো কিছু pattern engine-কে সূচকীয় সংখ্যক combination চেষ্টা করায়—এটিই catastrophic backtracking নামে পরিচিত। Tester-টি background thread-এ চলে এবং 1.5 সেকেন্ড পরে থেমে যায়। Nested quantifier নতুন করে লিখুন অথবা আরও নির্দিষ্ট character class ব্যবহার করুন।
Replacement-এ capture group কীভাবে ব্যবহার করব?
$1, $2… numbered group-এর জন্য, $<name> named group-এর জন্য, $& পুরো মিলের জন্য এবং $$ আক্ষরিক dollar sign-এর জন্য ব্যবহার করুন।
আমার লেখা কি কোথাও পাঠানো হয়?
না। আপনার ব্রাউজারের Web Worker-এ matching চলে, তাই আপনি যে log ও data পরীক্ষা করেন তা আপনার ডিভাইসেই থাকে।
গোপনীয়তা
এই টুলটি পুরোপুরি আপনার ব্রাউজারে চলে। আপনার ফাইল ও লেখা আপনার ডিভাইসেই প্রসেস হয় এবং কখনো আমাদের সার্ভারে আপলোড হয় না।