ازگر کے ساتھ باقاعدہ اظہار کے لیے ابتدائی رہنما۔

ازگر کے ساتھ باقاعدہ اظہار کے لیے ابتدائی رہنما۔

اگر آپ ایک پروگرامر ہیں تو ، امکانات یہ ہیں کہ آپ پہلے ہی جانتے ہوں گے کہ باقاعدہ تاثرات (ریجیکس) کیا ہیں۔ ریجیکس پیٹرن کو تقریبا every ہر مرکزی دھارے کی پروگرامنگ زبان میں نافذ کیا گیا ہے ، لیکن پھر بھی ، ان نمونوں کی طاقت اور استعداد کو زیادہ تر ڈویلپرز غیر تسلیم کرتے ہیں۔





یہ گائیڈ باقاعدہ تاثرات کے بارے میں ہے اور آپ انہیں ازگر پروگرامنگ زبان میں کیسے استعمال کرسکتے ہیں۔





باقاعدہ اظہار کیا ہیں؟

باقاعدہ تاثرات ایسے نمونے ہیں جو صارف کو ٹیکسٹ فائلوں اور ڈوروں میں کردار کے امتزاج کی مدد کرتے ہیں۔ آپ کمانڈر یا دستاویز کے آؤٹ پٹ میں مخصوص نمونہ فلٹر کرنے یا تلاش کرنے کے لیے باقاعدہ تاثرات استعمال کر سکتے ہیں۔





باقاعدہ تاثرات کے مختلف استعمال کے معاملات ہیں ، سب سے مشہور ہستی۔ لینکس میں گریپ کمانڈ۔ . دیگر ایپلی کیشنز میں معلومات کی فلٹرنگ شامل ہے جیسے ڈیٹا ڈمپ سے ای میل پتے اور فون نمبر نکالنا۔

بہت سے ڈویلپرز باقاعدہ تاثرات سے دور ہونے کی بنیادی وجہ پیٹرن میچنگ کی طاقت کے بارے میں آگاہی کا فقدان ہے۔ کچھ تو باقاعدہ تاثرات کو بھی الجھن میں ڈالتے ہیں کیونکہ پیٹرن میں استعمال ہونے والے حروف اور تسلسل کی بھاری مقدار۔



وجہ جو بھی ہو ، باقاعدہ تاثرات پروگرامنگ کے سب سے اہم پہلوؤں میں سے ایک ہیں اور ہوں گے جن کے بارے میں ہر ایک کو جاننا چاہیے۔

اپنے کمپیوٹر سے اپنے فون تک کیسے رسائی حاصل کریں۔

باقاعدہ تاثرات: مماثل حروف اور تسلسل۔

ریجیکس اپنے آپ میں ایک بالکل نئی زبان ہے۔ ایک ریجیکس انجن پیٹرن کی تشریح کرتا ہے جس میں کئی معنی ہوتے ہیں جو مخصوص معنی سے لیس ہوتے ہیں۔ بنیادی حروف جیسے حروف تہجی کے حروف اپنے آپ سے ملتے ہیں۔ لیکن پیچیدہ حروف جیسے $ ، *، +، {، وغیرہ اعلی ترتیب کے مماثلت میں مدد کرتے ہیں۔





  1. نجمہ (*): سابقہ ​​کردار صفر یا اس سے زیادہ بار مماثل ہے۔ کردار کے لغوی معنی ہوں گے 'عنصر ضرب این اوقات'۔ مثال کے طور پر ، اگر باقاعدہ اظہار ہے۔ اے بی سی * ، مماثل ڈور ab ، abc ، abcc ، abccc ، abcccc ، وغیرہ ہوں گے۔ [بی سی]* بی سی ، بی سی بی سی ، بی سی بی سی ، وغیرہ سے ملیں گے
  2. مزید (+): پچھلے کردار کو ایک یا زیادہ بار مماثل کرتا ہے۔ کا کام۔ + کردار کی طرح ہے * ، لیکن + اگر کردار نہیں ہوتا ہے تو کردار پیٹرن کو چھوڑ دیتا ہے۔ مثال کے طور پر، abc + abc ، abcc ، abccc ، وغیرہ سے مماثل ہوگا لیکن ab نہیں۔
  3. سوالیہ نشان (؟): سابقہ ​​کردار صفر یا ایک وقت (ے) سے مماثل ہے۔ مثال کے طور پر ، پیٹرن۔ اے بی سی صرف ab اور abc سے مماثل ہوگا۔
  4. پائپ (|): بائنری کے طور پر استعمال ہوتا ہے۔ یا آپریٹر پائپ سے پہلے اور کامیاب ہونے والے حروف میں سے کسی سے بھی میل کھاتا ہے۔ مثال کے طور پر، a | b a یا b سے مل جائے گا۔
  5. ڈاٹ (.): ایک ایسے کردار سے ملتا ہے جس کی شناخت نامعلوم ہے۔ مثال کے طور پر، a.c aac ، abc ، acc ، a2c ، اور اسی طرح سے مماثل ہوگا۔
  6. گاجر (): پیٹرن میں پہلے کردار سے مماثل ہے۔ مثال کے طور پر، ^را۔ سے شروع ہونے والے الفاظ سے مماثل ہوگا۔ باہر جیسے خرگوش ، ایک قسم کا جانور ، اور بے ترتیب۔
  7. ڈالر ($): پیٹرن میں آخری حرف سے مماثل ہے۔ مثال کے طور پر، ایک $ ختم ہونے والے الفاظ سے مماثل ہوگا۔ ایک جیسے وان ، ڈین ، اور پلان۔
  8. ہائفن (-): حروف کی ایک حد کی وضاحت کے لیے استعمال کیا جاتا ہے۔ مثال کے طور پر، [0-9] تمام عدد عددی حروف سے مماثل ہوگا۔

باقاعدہ اظہار کے نمونوں میں استعمال ہونے والے خصوصی تسلسل یہ ہیں:

  1. سے: اسٹرنگ کے آغاز میں اگر کامیاب کردار موجود ہوں تو میچ لوٹاتا ہے۔ مثال کے طور پر، اے سے شروع ہونے والے الفاظ سے مماثل ہوگا۔ کی جیسے ، وہ ، وہ ، وغیرہ۔
  2. ب: اگر کوئی لفظ شروع میں یا کسی لفظ کے آخر میں پایا جائے تو میچ لوٹاتا ہے۔ مثال کے طور پر، mad بی ایم ڈی اور پاگل ب جیسے الفاظ مماثل ہوں گے۔ بنایا اور خانہ بدوش بالترتیب
  3. B: اگر ایک لفظ کے آغاز یا اختتام پر حرف نہیں ملتا ہے تو ایک میچ لوٹاتا ہے۔
  4. د: تار میں موجود عددی حروف سے میل کھاتا ہے۔ مثال کے طور پر، /ڈی* نمبر 1 ، 12 ، 1232 ، وغیرہ سے ملیں گے
  5. ڈی: تار میں غیر عددی حروف سے مماثل ہے۔ /ڈی۔ a ، b ، c ، f ، وغیرہ سے مماثل ہوگا۔
  6. s: متن میں ایک وائٹ اسپیس کردار سے میل کھاتا ہے۔
  7. س: متن میں غیر وائٹ اسپیس کردار سے مماثل ہے۔
  8. میں: ایک میچ لوٹاتا ہے اگر اسٹرنگ میں حروف تہجی کے حروف شامل ہوں جس میں انڈر سکور بھی شامل ہوں۔ مثال کے طور پر، میں اے ، بی ، سی ، ڈی ، 1 ، 2 ، 3 ، وغیرہ سے مماثل ہوگا۔
  9. میں: اگر سٹرنگ میں حروف تہجی کے حروف یا انڈر سکور نہ ہوں تو میچ لوٹاتا ہے۔
  10. IT کے ساتھ: تار کے آخر میں حروف سے مماثل ہے۔ مثال کے طور پر، آخر Z ختم ہونے والے الفاظ سے مماثل ہوگا۔ ختم جیسے موڑنا ، ٹھیک کرنا ، ٹینڈ کرنا وغیرہ۔

باقاعدہ اظہار کے لیے ازگر کے طریقے۔

ازگر میں ، دوبارہ لائبریری آپ کے پروگراموں میں ریجیکس کو نافذ کرنے کے لیے درکار تمام ضروری افعال اور افادیت فراہم کرتی ہے۔ آپ کو پائپ کا استعمال کرتے ہوئے لائبریری ڈاؤن لوڈ کرنے کی ضرورت نہیں ہے کیونکہ یہ ازگر کے مترجم کے ساتھ پہلے سے نصب ہے۔





درآمد کرنے کے لیے۔ دوبارہ ازگر میں لائبریری ، اپنے اسکرپٹ میں درج ذیل کوڈ شامل کریں:

import re

نوٹ کریں کہ ازگر میں باقاعدہ تاثرات پاس کرتے وقت ، ہم خام تار استعمال کرتے ہیں کیونکہ وہ خاص حروف کی ترجمانی نہیں کرتے جیسے کہ۔ n اور ٹی مختلف طریقے سے.

میچ ()

کی re.match () ازگر میں طریقہ ایک ریجیکس آبجیکٹ لوٹاتا ہے اگر پروگرام کو مخصوص تار کے آغاز میں کوئی میچ مل جائے۔ یہ فنکشن دو بنیادی دلائل لیتا ہے:

re.match(pattern, string)

...کہاں پیٹرن باقاعدہ اظہار ہے اور تار وہ متن ہے جسے تلاش کرنے کی ضرورت ہے۔

ذیل میں کوڈ کے ٹکڑوں پر ایک نظر ڈالیں۔

import re
match = re.match(r'Word', 'This sentence contains a Word')
print(match)

کی r اسٹرنگ سے پہلے کا کردار خام تار کے لیے ہے۔

آؤٹ پٹ:

None

مذکورہ کوڈ واپس آتا ہے۔ کوئی نہیں کیونکہ لفظ۔ سٹرنگ کے آغاز میں موجود نہیں تھا۔

اگر کوئی میچ مل جاتا ہے تو ، آپ میچ کا استعمال کرتے ہوئے پرنٹ کرسکتے ہیں۔ گروپ () طریقہ جو ریجیکس آبجیکٹ سے تعلق رکھتا ہے۔

import re
match = re.match(r'Word', 'Word is hard to read')
print(match.group(0))

آؤٹ پٹ:

Word

کی دوبارہ تلاش کریں () طریقہ اسی طرح کے دلائل لیتا ہے جیسے re.match ()۔ جبکہ میچ () صرف سٹرنگ کے آغاز میں موجود میچ لوٹاتا ہے ، تلاش () سٹرنگ کے کسی بھی انڈیکس پر ملنے والے میچز لوٹائیں گے۔

import re
match = re.search(r'Word', 'This sentence contains a Word. Word is hard to read.')
print(match.group(0))

نوٹ کریں کہ میچ () اور تلاش () طریقے صرف ایک پیٹرن میچ واپس کریں گے۔ مذکورہ کوڈ میں ، لفظ۔ دو بار ظاہر ہوتا ہے. لیکن تلاش () فنکشن صرف لفظ کی پہلی موجودگی سے مماثل ہوگا۔

Word

FindAll ()

جیسا کہ آپ پہلے ہی اندازہ لگا سکتے ہیں ، findall () طریقہ تار میں ہر ممکنہ میچ لوٹاتا ہے۔

import re
match = re.search(r'Word', 'This sentence contains a Word. Word is hard to read.')
for elem in match:
print(elem)

ریجیکس آبجیکٹ واپس کرنے کے بجائے ، فائنل () فنکشن تمام میچوں کی فہرست لوٹاتا ہے۔ آپ a کا استعمال کرتے ہوئے فہرست کے ذریعے تکرار کرسکتے ہیں۔ ازگر میں لوپ کے لیے۔ .

تقسیم ()

اگر آپ ڈریمیٹر کے طور پر ایک پیٹرن کا استعمال کرتے ہوئے سٹرنگ کو سب سٹرنگ میں تقسیم کرنا چاہتے ہیں تو تقسیم () فنکشن وہی ہے جس کی آپ کو ضرورت ہے۔

import re
split = re.split(r'and', 'This word and that and this are different.')
print(split)

آؤٹ پٹ:

['This word', 'that', 'this are different.']

ذیلی ()

کی ذیلی () طریقہ ایک صارف کو پیٹرن کی جگہ ایک مخصوص لفظ کو تبدیل کرنے کی اجازت دیتا ہے۔ یہ مندرجہ ذیل دلائل لیتا ہے۔

re.sub(pattern, replacement, string)

اس کوڈ کے ٹکڑوں پر غور کریں:

import re
result = re.sub(r'and', 'or', 'Dave and Harry must be punished.')
print(result)

آؤٹ پٹ:

Dave or Harry must be punished.

مرتب ()

کی re.compile () میں طریقہ دوبارہ لائبریری ایک صارف کو میموری میں ریگولر ایکسپریشن پیٹرن کا مرتب کردہ ورژن محفوظ کرنے کی اجازت دیتی ہے۔ پھر ، مرتب شدہ شے کا استعمال کرتے ہوئے ، صارف مماثل نمونوں کے لیے مخصوص ٹیکسٹ ڈمپ کو جلدی سے فلٹر کرسکتا ہے۔

import re
pattern = re.compile('Python')
match = pattern.findall('Python is a great language for writing scripts. Python is easy to learn.')
print(match)

یہ فنکشن بنیادی طور پر پیٹرن کو بچانے کے لیے استعمال کیا جاتا ہے جو کہ وسائل سے بھرپور ہوتے ہیں اور چلانے کے لیے بہت زیادہ وقت درکار ہوتا ہے۔ پیٹرن کو بطور آبجیکٹ مرتب کرنا اور محفوظ کرنا اس مسئلے کو حل کرتا ہے۔

ازگر کے ساتھ ریجیکس کی طاقت کا فائدہ اٹھائیں۔

جب آپ ٹیکسٹ فائلوں اور آؤٹ پٹ کے ساتھ کام کر رہے ہوتے ہیں تو ، ریجیکس آپ کے اختیار میں رکھنے کا ایک بہترین ذریعہ ہے۔ آپ دستاویز میں مخصوص نمونوں کو فلٹر کرنے یا تبدیل کرنے کے لیے جلدی سے کچھ کوڈ لکھ سکتے ہیں۔

تمام کرداروں کو یاد رکھنا اور تسلسل سے ملنا مشکل ہوسکتا ہے اگر آپ صرف ریجیکس سے شروعات کر رہے ہیں۔ باقاعدہ تاثرات کو بہتر بنانے کے لیے ، کرداروں ، طریقوں اور تسلسل کی فہرست کا حوالہ دیتے ہوئے ہر وقت اور پھر یقینی طور پر آپ کو طویل مدتی میں مدد ملے گی۔

بانٹیں بانٹیں ٹویٹ ای میل۔ ابھرتے ہوئے پروگرامرز کے لیے ازگر RegEx چیٹ شیٹ۔

ازگر کے باقاعدہ تاثرات کی اس فہرست کا استعمال کریں تاکہ آپ اس ورسٹائل پروگرامنگ زبان کو استعمال کرنے میں بہتر ہو سکیں۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • پروگرامنگ۔
  • ازگر۔
مصنف کے بارے میں دیپش شرما(79 مضامین شائع ہوئے)

دیپیش ایم یو او میں لینکس کے جونیئر ایڈیٹر ہیں۔ وہ لینکس پر معلوماتی گائیڈ لکھتا ہے ، جس کا مقصد تمام نئے آنے والوں کو خوشگوار تجربہ فراہم کرنا ہے۔ فلموں کے بارے میں یقین نہیں ہے ، لیکن اگر آپ ٹیکنالوجی کے بارے میں بات کرنا چاہتے ہیں تو وہ آپ کا آدمی ہے۔ اس کے فارغ وقت میں ، آپ اسے کتابیں پڑھتے ، موسیقی کی مختلف انواع سنتے ، یا اس کا گٹار بجاتے ہوئے پا سکتے ہیں۔

دیپیش شرما سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔