حقیقی وقت میں میچ کی نمایاں کرنے، پیٹرن کی توثیق، اور عام ریگولر ایکسپریشن علامات کی وضاحت کے ساتھ ریگولر ایکسپریشنز کو جانچیں۔ اپنی اکثر استعمال ہونے والی پیٹرن کو حسب ضرورت لیبلز کے ساتھ محفوظ کریں اور دوبارہ استعمال کریں۔
نتائج دیکھنے کے لیے ایک پیٹرن اور ٹیسٹ متن درج کریں
نتائج دیکھنے کے لیے ایک پیٹرن اور ٹیسٹ متن درج کریں
ابھی تک کوئی محفوظ کردہ پیٹرن نہیں
.
نئی لائن کے سوا کسی بھی کردار سے میچ کرتا ہے\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 | یا تو a یا b سے میل کھاتا ہے | cat|dog | "cat"، "dog" |
جب آپ بنیادی باتوں میں مہارت حاصل کر لیتے ہیں، تو آپ مزید پیچیدہ پیٹرن تخلیق کر سکتے ہیں تاکہ پیچیدہ ٹیکسٹ پروسیسنگ کے چیلنجز کو حل کیا جا سکے:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
یہ پیٹرن ای میل ایڈریس کی توثیق کرتا ہے یہ یقینی بناتے ہوئے کہ وہ معیاری شکل کی پیروی کرتا ہے: username@domain.tld۔
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
یہ پیٹرن URLs کی توثیق کرتا ہے، بشمول وہ جو http/https پروٹوکول کے ساتھ یا بغیر ہیں۔
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
یہ پیٹرن مختلف شکلوں میں امریکی فون نمبروں کو میچ کرتا ہے: (123) 456-7890، 123-456-7890، یا 1234567890۔
1^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
2
یہ پیٹرن YYYY-MM-DD شکل میں تاریخوں کی توثیق کرتا ہے، مہینے اور دن کی حدود کے لیے بنیادی توثیق کے ساتھ۔
نظرثانی اور نظرثانی کے دعوے آپ کو صرف اس صورت میں پیٹرن کو میچ کرنے کی اجازت دیتے ہیں جب وہ کسی دوسرے پیٹرن کے ذریعہ پیچھے یا پیچھے ہوں:
a(?=b)
"a" کو صرف اس صورت میں میچ کرتا ہے جب یہ "b" کے بعد ہوa(?!b)
"a" کو صرف اس صورت میں میچ کرتا ہے جب یہ "b" کے بعد نہ ہو(?<=a)b
"b" کو صرف اس صورت میں میچ کرتا ہے جب یہ "a" کے پیچھے ہو(?<!a)b
"b" کو صرف اس صورت میں میچ کرتا ہے جب یہ "a" کے پیچھے نہ ہوہمارا ریجیکس ٹیسٹر مختلف فلیگز کی حمایت کرتا ہے جو پیٹرن کے میچ کرنے کے طریقے میں ترمیم کرتے ہیں:
^
اور $
کو ہر لائن کے شروع/آخر میں میچ کرنے کے لیے بنائیںریگولر ایکسپریشنز مختلف شعبوں میں متعدد عملی ایپلی کیشنز رکھتے ہیں:
فارم کی توثیق: یقینی بنائیں کہ صارف کی ان پٹ مطلوبہ شکلوں کے ساتھ میل کھاتی ہے:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
ایچ ٹی ایم ایل پارسنگ: مخصوص عناصر یا خصوصیات نکالیں:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
لاگ فائل کا تجزیہ: لاگ اندراجات سے معلومات نکالیں:
\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: .*
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*\(
کوڈ کی اصلاح: ایسے پیٹرن تلاش کریں جن کی ضرورت ہو:
\.oldMethod\(
eval\(
ہمارا ریجیکس پیٹرن ٹیسٹر ایک پیٹرن منیجمنٹ سسٹم شامل کرتا ہے جو آپ کو اپنے اکثر استعمال ہونے والے اظہار کو محفوظ اور دوبارہ استعمال کرنے کی اجازت دیتا ہے:
ان پیٹرن کو محفوظ کرنے پر غور کریں جو:
پیٹرن کو محفوظ کرتے وقت، وضاحتی لیبل استعمال کریں جو:
اپنے محفوظ کردہ پیٹرن کو منظم کریں:
جبکہ ہمارا ٹول صارفین کے درمیان پیٹرن کے اشتراک کی براہ راست حمایت نہیں کرتا، آپ:
حتی کہ تجربہ کار ڈویلپر بھی ریگولر ایکسپریشنز کے ساتھ چیلنجوں کا سامنا کرتے ہیں۔ یہاں عام مسائل کے حل ہیں:
اگر آپ کا پیٹرن توثیق کی غلطی دکھاتا ہے:
اگر آپ کا ریجیکس سست ہے یا براؤزر کی تاخیر کا سبب بنتا ہے:
(a+)+
)اگر آپ کا پیٹرن ناپسندیدہ ٹیکسٹ سے میل کھاتا ہے:
^
اور $
) کا استعمال کرتے ہوئے پورے تاروں کو میچ کریں\b
) شامل کریںاگر آپ کا پیٹرن متوقع ٹیکسٹ سے میل نہیں کھاتا:
i
کا استعمال کرنے پر غور کریں)اگرچہ ریجیکس طاقتور ہے، لیکن یہ ہر ٹیکسٹ پروسیسنگ کے کام کے لیے ہمیشہ بہترین حل نہیں ہوتا:
سادہ ٹیکسٹ آپریشنز کے لیے، مقامی سٹرنگ کے طریقے اکثر زیادہ واضح اور زیادہ موثر ہوتے ہیں:
String.indexOf()
ذیلی تاروں کو تلاش کرنے کے لیےString.startsWith()
اور String.endsWith()
تار کی سرحدوں کی جانچ کرنے کے لیےString.split()
بنیادی ٹوکنائزیشن کے لیےساختی ڈیٹا کے فارمیٹس کے لیے، مخصوص پارسرز زیادہ مضبوط ہوتے ہیں:
متن کے معنی کو سمجھنے کے لیے، نہ کہ صرف پیٹرن:
ریجیکس کے متبادل پر غور کریں جب:
ریگولر ایکسپریشن (ریجیکس) کرداروں کی ایک تسلسل ہے جو تلاش کے پیٹرن کی وضاحت کرتی ہے۔ ان پیٹرن کو سٹرنگ کی تلاش، میچنگ، اور ٹیکسٹ ہیرا پھیری کی کارروائیوں کے لیے استعمال کیا جا سکتا ہے۔
ریجیکس پیٹرن ٹیسٹر آپ کو ریگولر ایکسپریشنز تیار کرنے اور ڈیبگ کرنے میں مدد کرتا ہے، میچز پر فوری بصری فیڈبیک فراہم کرتا ہے، پیٹرن کی نحو کی توثیق کرتا ہے، اور آپ کو مختلف پیٹرن اور فلیگز کے ساتھ تجربہ کرنے کی اجازت دیتا ہے بغیر پہلے انہیں کوڈ میں نافذ کیے۔
ایسے حقیقی خاص کرداروں کو میچ کرنے کے لیے جو عام طور پر ریجیکس میں خاص معنی رکھتے ہیں، آپ کو انہیں ایک بیک سلیش کے ساتھ فرار کرنا ہوگا۔ مثال کے طور پر، حقیقی نقطہ کو میچ کرنے کے لیے، \.
کا استعمال کریں نہ کہ صرف .
۔
.*
اور .*?
میں کیا فرق ہے؟.*
ایک لالچی مقدار ہے جو زیادہ سے زیادہ کرداروں کو میچ کرتی ہے، جبکہ .*?
ایک سست (غیر لالچی) مقدار ہے جو کم سے کم کرداروں کو میچ کرتی ہے۔ یہ تفریق اس وقت اہم ہے جب آپ سب سے چھوٹے میچ کو تلاش کرنا چاہتے ہیں نہ کہ سب سے بڑے۔
اگرچہ بنیادی ریجیکس نحو بہت سی زبانوں میں ملتی جلتی ہے، لیکن عمل درآمد میں باریکیاں ہیں۔ ہمارا ٹیسٹر جاوا اسکرپٹ کے ریجیکس انجن کا استعمال کرتا ہے، جو بہت سی ویب زبانوں کے ساتھ ہم آہنگ ہے لیکن Python، Java، یا Perl جیسی زبانوں میں ریجیکس سے مختلف ہو سکتا ہے۔
یہ یقینی بنانے کے لیے کہ پوری سٹرنگ ایک پیٹرن سے میل کھاتی ہے، اپنے ریجیکس کے آغاز میں ^
اینکر اور آخر میں $
اینکر کا استعمال کریں۔ مثال کے طور پر، ^[0-9]+$
صرف ان تاروں کو میچ کرے گا جو مکمل طور پر اعداد پر مشتمل ہیں۔
پکڑنے والے گروپ، جو قوسین ()
کے ساتھ بنائے جاتے ہیں، آپ کو میچ کردہ ٹیکسٹ کے مخصوص حصوں کو نکالنے کی اجازت دیتے ہیں۔ ہمارے ٹیسٹر میں، آپ تمام میچز کو دیکھ سکتے ہیں، بشمول پکڑے گئے گروپ۔ پروگرامنگ زبانوں میں، آپ عام طور پر ان کی گرفت کی گئی معلومات کو میچ کے نتیجے کے ذریعے انڈیکس کرکے حاصل کر سکتے ہیں۔
ریجیکس کی کارکردگی کو بہتر بنانے کے لیے: کردار کی کلاسوں کے ساتھ مخصوص بنیں، غیر ضروری پکڑنے والے گروپوں سے بچیں (جب ممکن ہو تو غیر پکڑنے والے گروپ (?:...)
کا استعمال کریں)، نظرثانیوں/نظرثانیوں کے استعمال کو محدود کریں، اور مہلک پیچھے جانے کے پیٹرن جیسے گھنے مقداروں سے بچیں۔
عام غلطیوں میں شامل ہیں: خاص کرداروں کو فرار نہ کرنا، بہت لالچی پیٹرن بنانا، پیٹرن کو اینکر کرنا بھولنا (جیسے ^
اور $
)، اور پیچیدہ اظہار لکھنا جو برقرار رکھنے میں مشکل ہیں۔
ریگولر ایکسپریشنز گھنے ڈھانچوں جیسے HTML یا XML کی پارسنگ کے لیے اچھی طرح سے موزوں نہیں ہیں۔ اگرچہ آپ سادہ HTML میچنگ کے لیے ریجیکس پیٹرن بنا سکتے ہیں، لیکن پیچیدہ HTML پروسیسنگ کے لیے مخصوص HTML پارسر کا استعمال کرنا عام طور پر بہتر ہے۔
آج ہی ہمارا ریجیکس پیٹرن ٹیسٹر آزمائیں تاکہ آپ کے ٹیکسٹ پروسیسنگ کے کاموں کو آسان بنایا جا سکے، ان پٹ کی شکلوں کی توثیق کی جا سکے، اور غیر ساختہ ٹیکسٹ سے معنی خیز ڈیٹا نکالا جا سکے۔ چاہے آپ ریگولر ایکسپریشنز کی بنیادیات سیکھنے والے ابتدائی ہوں یا پیچیدہ پیٹرن میچنگ پر کام کرنے والے تجربہ کار ڈویلپر، ہمارا ٹول آپ کو مؤثر طریقے سے اپنے ریجیکس پیٹرن تخلیق، ٹیسٹ، اور بہتر بنانے کے لیے درکار خصوصیات فراہم کرتا ہے۔
آپ کے ورک فلو کے لیے مفید ہونے والے مزید ٹولز کا انعام کریں