ریگیولر ایکسپریشن یا ریجیکس

ریگیولر ایکسپریشن یا ریجیکس کیا ہوتا ہے؟ اسے کن مقاصد کے لیے استعمال کیا جاتا ہے؟ نیز کیا یہ ہر پروگرامنگ زبان میں مختلف طریقہ سے لکھے جاتے ہیں یا یکساں؟ :) :)
 

دوست

محفلین
ریگولر ایکسریشن بذات خود ایک زبان ہے۔ کم و بیش تمام جدید زبانوں میں اس کی سپورٹ موجود ہے۔ بنیادی طور پر تو پرل میں ڈویلپ ہوئے تھے، بعد میں پائتھون اور پھر ہر قابل ذکر زبان میں موجود ہیں۔ زبان کے لحاظ سے سنٹیکس میں کچھ فرق آ جاتا ہے لیکن بنیاد وہی رہتی ہے۔ آپ ٹورنٹس سے ماسٹرنگ ریگولر ایکسپریشنز ڈاؤنلوڈ کر لیں۔ کتاب کا ٹائٹل اس کی اصل ویب سائٹ سے مل جائے گا۔ ایک مرتبہ بنیادی سمجھ آ گئی تو اپنی مطلوبہ پروگرامنگ زبان کے حساب سے سیکھ لیں۔ اس کے لیے انٹرنیٹ پر بھی بے شمار ٹیوٹوریل مفت موجود ہیں۔ میں نے بنیادی باتیں اس کتاب سے سیکھی تھیں۔
 
تھیوریٹیکل کمپیوٹر سائنس کی فارمل لینگوئیج تھیوری میں مختلف زبانوں کی زمرہ بندی کی گئی ہے جو مختلف شرائط پر پورے اترتے ہیں۔ زبان کی تعریف ریاضی، کمپیوٹر سائنس، اور لسانیات میں کچھ یوں کی جاتی ہے کہ زبان مختلف علامات (حروف و رموز) کے مجموعے (مثلاً الفاظ) کا مجموعہ (مثلاً فقرے) ہوتا ہے جو بعض قواعد (مثلاً نحو و صرف) کے تابع ہوتا ہے۔ اس تعریف میں عام بول چال کی زبانوں اور پروگرامنگ زمانوں سمیت باقی کئی طرح کی زبانیں شامل ہیں۔ نوم چومسکی نے لینگوئج تھیوری کے قواعد (گرامر) کی زمرہ بندی کر کے ان کی ہائرارکی تیار کی جس میں ٹائپ زیرو سے ٹائپ تھری تک کل چار زمرے ہیں اور ہر زمرے کے گرامر کی اپنی خصوصیات اور حدود و قیود ہیں اور ہر گرامر کے لیے چند ایک ایبسٹریکٹ تھیوریٹیکل مشینیں ہوتی ہیں جو ان کو ہضم کر سکتی ہیں، انھیں پیدا کر سکتی ہیں، یا ان کی شناخت کر سکتی ہیں۔ انھیں زمروں میں ٹائپ تھری گرامر کے تحت آنے والے قواعد میں ریگیولر گرامر بھی موجود ہے اور ان قواعد سے مشروط زبان ریگیولر لینگوئج کہلاتی ہے جو کہ فائنائٹ آٹومیٹن تھیوریٹکل مشین سے شناخت کی جاتی ہے۔ اس ریگیولر لینگوئج کے فقرے ریگیولر ایکسپریشن، ریگ ایکس، ریج ایکس، یا ریشنل ایکسپریشن کہلاتے ہیں جنھیں عام بول چال میں پیٹرن بھی کہا جاتا ہے۔ :) :) :)

ریگیولر ایکسپریشن کا استعمال ٹیکسٹ پارسنگ، پیٹرن میچنگ، فائنڈ ریپلیس، اور انپٹ ویلیڈیشن وغیرہ کے لیے بکثرت کیا جاتا ہے۔ :) :) :)

ریگیولر ایکسپریشن کے لیے پی او ایس آئی ایکس اسٹینڈرڈ موجود ہے جس کے تین مختلف کمپلائنس سیٹ ہیں جن کا استعمال مختلف یونکس اسکرپٹس اور یوٹیلیٹیز میں پایا جاتا ہے، جبکہ پرل ریگیولر ایکسپریشن اپنی قوت اور خصوصیات کے چلتے مقبول عام معیار بن چکا ہے اور بیشتر عام استعمال کی پروگرامنگ زبانوں میں پرل ریگ ایکس کی سپورٹ یا تو بنیادی طور پر موجود ہے یا اضافی لائبریریز کی مدد سے اس کی سپورٹ فراہم کرائی جاتی ہے۔ چونکہ پرل ریگ ایکس اسٹینڈرڈ ایک ہے لہٰذا مختلف پروگرامنگ زبانوں میں ریگ ایکس میں کافی حد تک مماثلت پائی جاتی ہے لیکن ہر پروگرامنگ زبان کی اپنی کچھ ترجیحات اور اپنے اصلوب ہوتے ہیں لہٰذا ریگ ایکس لکھنے اور اس کے استعمال کے طریقہ کار میں کسی قدر عدم یکسانیت دیکھنے کو ملتی ہے۔ مزید بر آں، وقت کے ساتھ ساتھ ریگیولر ایکسپریشن میں اضافی سہولیات بھی شامل کی جاتی رہی ہیں اور ضروری نہیں کہ ہر پروگرامنگ زبان میں ان اضافی سہولیات کو بر وقت شامل کیا گیا ہو لہٰذا اس باعث بھی فرق دیکھنے کو ملتا ہے۔ :) :) :)
 

arifkarim

معطل
تھیوریٹیکل کمپیوٹر سائنس کی فارمل لینگوئیج تھیوری میں مختلف زبانوں کی زمرہ بندی کی گئی ہے جو مختلف شرائط پر پورے اترتے ہیں۔ زبان کی تعریف ریاضی، کمپیوٹر سائنس، اور لسانیات میں کچھ یوں کی جاتی ہے کہ زبان مختلف علامات (حروف و رموز) کے مجموعے (مثلاً الفاظ) کا مجموعہ (مثلاً فقرے) ہوتا ہے جو بعض قواعد (مثلاً نحو و صرف) کے تابع ہوتا ہے۔ اس تعریف میں عام بول چال کی زبانوں اور پروگرامنگ زمانوں سمیت باقی کئی طرح کی زبانیں شامل ہیں۔ نوم چومسکی نے لینگوئج تھیوری کے قواعد (گرامر) کی زمرہ بندی کر کے ان کی ہائرارکی تیار کی جس میں ٹائپ زیرو سے ٹائپ تھری تک کل چار زمرے ہیں اور ہر زمرے کے گرامر کی اپنی خصوصیات اور حدود و قیود ہیں اور ہر گرامر کے لیے چند ایک ایبسٹریکٹ تھیوریٹیکل مشینیں ہوتی ہیں جو ان کو ہضم کر سکتی ہیں، انھیں پیدا کر سکتی ہیں، یا ان کی شناخت کر سکتی ہیں۔ انھیں زمروں میں ٹائپ تھری گرامر کے تحت آنے والے قواعد میں ریگیولر گرامر بھی موجود ہے اور ان قواعد سے مشروط زبان ریگیولر لینگوئج کہلاتی ہے جو کہ فائنائٹ آٹومیٹن تھیوریٹکل مشین سے شناخت کی جاتی ہے۔ اس ریگیولر لینگوئج کے فقرے ریگیولر ایکسپریشن، ریگ ایکس، ریج ایکس، یا ریشنل ایکسپریشن کہلاتے ہیں جنھیں عام بول چال میں پیٹرن بھی کہا جاتا ہے۔ :) :) :)

ریگیولر ایکسپریشن کا استعمال ٹیکسٹ پارسنگ، پیٹرن میچنگ، فائنڈ ریپلیس، اور انپٹ ویلیڈیشن وغیرہ کے لیے بکثرت کیا جاتا ہے۔ :) :) :)

ریگیولر ایکسپریشن کے لیے پی او ایس آئی ایکس اسٹینڈرڈ موجود ہے جس کے تین مختلف کمپلائنس سیٹ ہیں جن کا استعمال مختلف یونکس اسکرپٹس اور یوٹیلیٹیز میں پایا جاتا ہے، جبکہ پرل ریگیولر ایکسپریشن اپنی قوت اور خصوصیات کے چلتے مقبول عام معیار بن چکا ہے اور بیشتر عام استعمال کی پروگرامنگ زبانوں میں پرل ریگ ایکس کی سپورٹ یا تو بنیادی طور پر موجود ہے یا اضافی لائبریریز کی مدد سے اس کی سپورٹ فراہم کرائی جاتی ہے۔ چونکہ پرل ریگ ایکس اسٹینڈرڈ ایک ہے لہٰذا مختلف پروگرامنگ زبانوں میں ریگ ایکس میں کافی حد تک مماثلت پائی جاتی ہے لیکن ہر پروگرامنگ زبان کی اپنی کچھ ترجیحات اور اپنے اصلوب ہوتے ہیں لہٰذا ریگ ایکس لکھنے اور اس کے استعمال کے طریقہ کار میں کسی قدر عدم یکسانیت دیکھنے کو ملتی ہے۔ مزید بر آں، وقت کے ساتھ ساتھ ریگیولر ایکسپریشن میں اضافی سہولیات بھی شامل کی جاتی رہی ہیں اور ضروری نہیں کہ ہر پروگرامنگ زبان میں ان اضافی سہولیات کو بر وقت شامل کیا گیا ہو لہٰذا اس باعث بھی فرق دیکھنے کو ملتا ہے۔ :) :) :)

اسے وکی پیڈیا میں بھی شامل کر سکتے ہیں :)

محمد شعیب
 
جزاک اللہ دوستو، واقعی اس پر اردو ویکی میں مضمون تحریر کرنا ہے، اس لیے معلومات کی درخواست کی تھی۔ جلد ہی مکمل مضمون تحریر کرکے پیش کرتے ہیں، اس کے بعد پھر ایک آپ احباب کو نظر ثانی کی زحمت دیں گے۔ ایک بار پھر انتہائی شکریہ زبردست اور قیمتی معلومات فراہم کرنے کے لیے :) :)
 
Top