ریگولر ایکسپریشن کیسے ٹیسٹ کریں
- اپنا پیٹرن لکھیں Regular expression والے خانے میں، دونوں طرف کے slash کے بغیر۔ شروع میں ای میل ایڈریس ڈھونڈنے والا ایک نمونہ پیٹرن پہلے سے لوڈ ہوتا ہے۔
- فلیگز چنیں g، i، m، s، u یا y پر ٹیپ کر کے۔ فعال فلیگز پیٹرن کے آخری slash کے بعد نظر آتے ہیں۔
- اپنا ٹیسٹ ٹیکسٹ پیسٹ کریں ٹیسٹ ٹیکسٹ والے خانے میں۔ ہر میچ آپ کے ٹیکسٹ میں میچ والے حصے میں نمایاں ہو جاتا ہے، اور اوپر تعداد لکھی ہوتی ہے۔
- چاہیں تو متبادل ٹیکسٹ لکھیں، جیسے
$1یا$<name>، اس سے بدلیں (اختیاری) والے خانے میں، اور بدلنے کے بعد کا ٹیکسٹ دیکھیں۔ - میچ کی تفصیل والا جدول دیکھیں، جس میں ہر میچ کا مقام اور ہر capture group کی ویلیو ہوتی ہے۔
خصوصیات
- لائیو ہائی لائٹنگ، لکھتے ساتھ میچ نمایاں ہوتے ہیں۔
- JavaScript کے تمام چھ فلیگز: گلوبل، چھوٹے بڑے حروف کا فرق نہیں، ملٹی لائن، dot-all، Unicode اور sticky۔
- Capture groups ایک جدول میں، نام والے گروپس اپنے ناموں کے ساتھ۔
- Replace کا پیش منظر جو
$1،$<name>اور$&سپورٹ کرتا ہے، کاپی بٹن کے ساتھ۔ - میچز کی تعداد اور مقام، پہلے 1,000 میچز کی فہرست کے ساتھ۔
- بے قابو پیٹرنز سے حفاظت: حساب Web Worker میں ہوتا ہے اور 1.5 سیکنڈ بعد روک دیا جاتا ہے۔
- واضح error پیغامات انجن کی طرف سے، جب پیٹرن غلط ہو، جیسے کوئی گروپ بند نہ کیا گیا ہو۔
Fileora کا Regex ٹیسٹر کیوں استعمال کریں
ٹیسٹ ڈیٹا اکثر اصلی ڈیٹا ہوتا ہے: سرور لاگز، کسٹمرز کے ایکسپورٹ، ای میل کی فہرستیں۔ Fileora ریگولر ایکسپریشن آپ کے براؤزر میں چلاتا ہے، اس لیے اس میں سے کچھ بھی آپ کے ڈیوائس سے باہر نہیں جاتا۔ یہ مفت ہے، سائن اپ کی ضرورت نہیں، اور فلیگ کے بٹن اتنے بڑے ہیں کہ فون پر بھی آرام سے دبائے جا سکیں۔
چونکہ ٹیسٹر وہی انجن استعمال کرتا ہے جو آپ کا JavaScript کوڈ کرتا ہے، اس لیے پیٹرن اپنے پروجیکٹ میں کاپی کرنے پر کوئی حیرت نہیں ہوتی۔
JavaScript regex کی مختصر گائیڈ
.لائن بریک کے سوا کوئی بھی حرف (s فلیگ کے ساتھ بالکل کوئی بھی حرف)\d،\w،\sایک ہندسہ، ایک word حرف (انگریزی حرف، ہندسہ یا underscore)، ایک خالی جگہ والا حرف\D،\W،\Sاوپر والوں کا الٹ[abc]،[^abc]،[a-z]سیٹ میں سے ایک حرف، سیٹ سے باہر کا حرف، یا کسی رینج کا حرف^اور$ٹیکسٹ کا شروع اور آخر، یا m فلیگ کے ساتھ ہر لائن کا\bلفظ کی حد*،+،?صفر یا زیادہ، ایک یا زیادہ، صفر یا ایک{3}،{2,5}ٹھیک 3 بار، یا 2 سے 5 بار تک*?،+?lazy ورژن جو کم سے کم میچ کرتے ہیں(abc)capture group؛(?:abc)ایسا گروپ جو capture نہیں کرتا(?<year>\d{4})نام والا گروپ، جسے replace میں$<year>لکھا جاتا ہےa|bیا a یا b(?=x)،(?!x)جس کے بعد x ہو، جس کے بعد x نہ ہو(?<=x)،(?<!x)جس سے پہلے x ہو، جس سے پہلے x نہ ہو\p{L}کسی بھی رسم الخط کا کوئی بھی حرف، u فلیگ کے ساتھ
اردو ٹیکسٹ کے ساتھ regex
\w صرف انگریزی حروف، ہندسے اور underscore پہچانتا ہے، اس لیے یہ اردو الفاظ میچ نہیں کرتا۔ اردو یا ہندی ٹیکسٹ کے لیے u فلیگ آن کریں اور \p{L}+ استعمال کریں، یا عربی رسم الخط کی رینج کے لیے [-ۿ]+ لکھیں۔ اسی طرح \b بھی اردو الفاظ کی حدیں درست نہیں پہچانتا، اس لیے وہاں اسپیس یا lookaround سے کام لیں۔
سست پیٹرنز سے کیسے بچیں
Catastrophic backtracking عموماً ایسے repeat والے گروپ سے آتی ہے جس کے اندر ایک اور repeat ہو، جیسے (a+)+ یا (\w+\s?)*۔ ہر حصے کو کوئی الگ چیز میچ کرنے دیں، جہاں ممکن ہو پیٹرن کو ^ اور $ سے باندھیں، اور .* کے بجائے مخصوص حروف کے سیٹ استعمال کریں۔
کسی لمبی فائل پر replace کا اثر جانچنے کے لیے پہلے اور بعد کا موازنہ ڈِف چیکر میں کریں۔ بغیر پیٹرن لکھے سادہ الفاظ بدلنے ہوں تو تلاش کریں اور بدلیں کافی ہے، اور نکالا گیا JSON JSON فارمیٹر سے صاف کریں۔