ریجیکس ٹیسٹر
اپنے براؤزر میں فوری طور پر ریگولر ایکسپریشنز کی جانچ اور ڈیبگ کریں۔ مماثلتوں کو نمایاں کریں، کیپچر گروپ دیکھیں، اور ریپلیس موڈ استعمال کریں — مفت اور نجی۔
اپنے براؤزر میں فوری طور پر ریگولر ایکسپریشنز کی جانچ اور ڈیبگ کریں۔ مماثلتوں کو نمایاں کریں، کیپچر گروپ دیکھیں، اور ریپلیس موڈ استعمال کریں — مفت اور نجی۔
ریگولر ایکسپریشنز متن میں نمونوں کو ملانے کے لیے ڈومین کے لیے مخصوص زبان ہیں۔ وہ 1968 سے کمپیوٹنگ کا حصہ ہیں اور اب ہر جدید پروگرامنگ زبان، ٹیکسٹ ایڈیٹر، اور کمانڈ لائن سرچ ٹول میں شامل ہیں۔ نحو جامع ہے لیکن غلطی کا شکار ہے: چھوٹی تبدیلیاں بالکل مختلف مماثلت کا رویہ پیدا کرتی ہیں، اور پیچیدہ تاثرات تیزی سے پڑھنے کے قابل نہیں ہو جاتے ہیں۔ ایک ٹیسٹر جو ریئل ٹائم میں میچز دکھاتا ہے جیسا کہ آپ پیٹرن میں ترمیم کرتے ہیں ریجیکس کو تیار کرنے اور اس کی تصدیق کرنے کا سب سے مؤثر طریقہ ہے۔
یہ ٹیسٹر آپ کے براؤزر میں JavaScript regex انجن کا استعمال کرتے ہوئے چلتا ہے (اگر آپ کی ایپلی کیشن براؤزر میں چلتی ہے تو وہی استعمال کرتی ہے)۔ پیٹرن اور ٹیسٹ ٹیکسٹ کو رد عمل سے اپ ڈیٹ کریں: ہر تبدیلی یا تو میچ کو دوبارہ چلاتا ہے۔ میچ گروپس کو ہائی لائٹ کیا جاتا ہے، پکڑے گئے گروپس کو درج کیا جاتا ہے، اور جھنڈے (کیس سے غیر حساس، ملٹی لائن، گلوبل) کو جانچ کے لیے سامنے لایا جاتا ہے۔
ریجیکس نحو انجنوں کے درمیان ٹھیک ٹھیک مختلف ہوتا ہے۔ JavaScript ECMAScript کے مطابق ہے؛ Python، PCRE (PHP اور بہت سے دوسرے کے ذریعے استعمال کیا جاتا ہے)، Java، اور Go ہر ایک کی اپنی بولیاں اوورلیپنگ کے ساتھ ہیں لیکن ایک جیسی خصوصیات نہیں ہیں۔ یہاں تیار کردہ پیٹرن ECMAScript نحو کا استعمال کرتے ہیں؛ کراس انجن پورٹیبلٹی کے لیے ہر ہدف کی دستاویزات کی جانچ پڑتال کی ضرورت ہوتی ہے۔
ریجیکس کیڑے کو تعیناتی کے بعد ڈیبگ کرنا بدنام زمانہ مشکل ہے۔ ایک پیٹرن جو مناسب لگتا ہے وہ مطلوبہ سے زیادہ یا کم مماثل ہو سکتا ہے، کنارے کے معاملات میں ناکام ہو سکتا ہے، یا کچھ ان پٹس پر تباہ کن بیک ٹریکنگ ہو سکتا ہے۔ کوڈ کے جائزے اور پروڈکشن سے پہلے نمائندہ ان پٹ کے خلاف انٹرایکٹو ٹیسٹنگ پیٹرن مسائل کو پکڑتا ہے۔
پیٹرن بھی دستاویزات سے فائدہ اٹھاتے ہیں۔ ان پٹ کے ساتھ ریجیکس دکھانا اسے مماثل ہونا چاہئے اور جس ان پٹ سے اسے مماثل نہیں ہونا چاہئے اس سے ارادہ واضح ہوجاتا ہے۔ مستقبل کی دیکھ بھال کرنے والے (بشمول چھ مہینوں میں) دستاویزی ٹیسٹ کیسز کی اس سے زیادہ تعریف کرتے ہیں کہ وہ ہوشیار ون لائنرز کی تعریف کرتے ہیں۔
پیٹرن ٹائپ کریں، ٹیسٹ ان پٹ ٹائپ کریں، لائیو ہائی لائٹ کیے گئے میچز دیکھیں۔
JavaScript regex ECMAScript تفصیلات کی پیروی کرتا ہے۔ اہم خصوصیات: کریکٹر کلاسز ([abc]، [^abc])، کوانٹیفائر (*, +, ?, {n,m})، الٹرنیشن (|)، گروپ بندی (...))، کیپچرنگ اور نان کیپچرنگ گروپس، آگے اور پیچھے نظر آنے والے (جدید انجن)، پیچھے کے حوالہ جات، نام والے گروپس، یونیکوڈ پراپرٹی ایسکیپز (معیاری پرچم کے ساتھ)
PCRE اور Python سے اہم فرق: lookbehind support JavaScript (2018+) میں حالیہ ہے؛ نامزد گروپ (?<name>...) نحو استعمال کرتے ہیں؛ کچھ یونیکوڈ فرار کے لیے یو فلیگ کو صحیح طریقے سے کام کرنے کی ضرورت ہوتی ہے۔ مختلف زبانوں کے استعمال کے لیے بنائے گئے نمونوں کو ہر ہدف کی دستاویزات کے خلاف چیک کیا جانا چاہیے۔
کارکردگی: بیک ٹریکنگ پر مبنی ریجیکس انجن (زیادہ تر جاوا اسکرپٹ سمیت) بعض پیتھولوجیکل پیٹرن پر تباہ کن بیک ٹریکنگ کر سکتے ہیں۔ ٹیسٹر کو لٹکانے والے ٹیسٹ اس بات کی علامت ہیں کہ پیٹرن کو آسان بنانے کی ضرورت ہے - عام طور پر نیسٹڈ کوانٹیفائرز اور مبہم ردوبدل سے گریز کرتے ہوئے۔