کیسے چیک کیا جائے کہ سٹرنگ بش میں سٹرنگ پر مشتمل ہے۔

How Check If String Contains Substring Bash



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

خالی جگہوں سے سٹرنگ

ہر ایک جگہ کو خلائی فرار کی ترتیب سے بدل کر ایک تار بنایا جا سکتا ہے ، '' جیسا کہ:







myVar= سیاحتمیں مصر ملک کا ایک ہے۔' معروف اقتصادی صنعتیں۔
باہر پھینک دیا $ myVar

پیداوار یہ ہے:



مصر میں سیاحت ملک کی معروف معاشی صنعتوں میں سے ایک ہے۔



نوٹ: apostrophe نے خلائی فرار کی ترتیب بھی استعمال کی۔





سٹرنگ از سنگل کوٹس۔

کیا پروگرامر کے پاس وقت ہے کہ وہ تار میں تمام خالی جگہوں سے فرار ہو جائے؟ نہیں ، اس لیے تار کو محدود کرنے کے لیے دو واحد حوالوں کا استعمال بہتر ہے۔ جیسا کہ:

myVar='مصر میں سیاحت ایک ملک ہے''کی معروف اقتصادی صنعتیں۔

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



مصر میں سیاحت ملک کی معروف معاشی صنعتوں میں سے ایک ہے۔

سٹرنگ از ڈبل کوٹس۔

ڈبل حوالوں کے ساتھ ، فرار کی ترتیب کو بھی نہیں بڑھایا جاتا ہے ، لیکن متغیرات کو بڑھایا جاتا ہے۔ مندرجہ ذیل کوڈ اس کی وضاحت کرتا ہے:

myVar= سیاحتمیں مصر ملک کا ایک ہے۔' معروف اقتصادی صنعتیں۔
باہر پھینک دیا $ myVar

پیداوار یہ ہے:

مصر میں سیاحت ملک کی معروف معاشی صنعتوں میں سے ایک ہے۔

نوٹ: apostrophe نے خلائی فرار کی ترتیب بھی استعمال کی۔

اس آرٹیکل میں ، سمجھی جانے والی سٹرنگ کی اہم قسم سنگل کوٹس میں سٹرنگ ہے۔

باقاعدہ اظہار کے بنیادی اصول

ریجیکس۔

اس تار پر غور کریں:

یہ دنیا واقعی ہمارا گھر نہیں ہے۔

دنیا کو دلچسپی کا مرکز بننے دیں۔ پھر ، بڑی سٹرنگ (پوری سٹرنگ) کو ٹارگٹ سٹرنگ یا محض ہدف کہا جاتا ہے۔ اقتباسات میں 'دنیا' کو باقاعدہ اظہار کہا جاتا ہے یا سیدھا ، ریجیکس۔ مواد ، دنیا ، پیٹرن ہے ، اس معاملے میں۔

سادہ ملاپ۔

درج ذیل کوڈ میں ، اگر لفظ 'ورلڈ' ہدف میں پایا جاتا ہے تو ہم کہیں گے کہ لفظ مماثل ہو گیا ہے۔

p='یہ دنیا واقعی ہمارا گھر نہیں ہے۔'
reg='دنیا'
اگر [[ $ str=$ reg ]]؛پھر
باہر پھینک دیاپایا
اور
باہر پھینک دیانہیں ملا
ہو

= ~ ، جو اسائنمنٹ آپریٹر ہے اس کے بعد ~ ، بائنڈنگ آپریٹر کہلاتا ہے۔ حالت چیک کرتی ہے کہ آیا پیٹرن ٹارگٹ سٹرنگ میں مماثل ہے۔ اگر ٹارگٹ میں پیٹرن سے متعلقہ ایک سٹرنگ مل جائے تو ایکو سٹیٹمنٹ ڈسپلے پایا جاتا ہے۔ اگر یہ نہیں ملا تو ایکو اسٹیٹمنٹ کی بازگشت نہیں ملی۔ اس کوڈ کی پیداوار یہ ہے:

پایا

نمونہ کے طور پر ، دنیا ، ہدف میں پائی جاتی ہے۔ نوٹ کریں کہ [[اور پہلے]] کے بعد حد بندی کی جگہ کو برقرار رکھا گیا ہے۔

پیٹرن

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

^ $. * +؟ () [] {} |

ایک باقاعدہ اظہار بھی حالت ڈبل بریکٹ میں ٹائپ کیا جا سکتا ہے۔ لیکن اس کا حوالوں میں ہونا ضروری نہیں ہے۔ لہذا ، اس معاملے میں ، یہ لفظی طور پر ، ایک نمونہ ہے۔

کریکٹر کلاسز

مربع بریکٹ

مندرجہ ذیل کوڈ کی آؤٹ پٹ مل گئی ہے ، مطلب ایک میچ ہوا

p='بلی چیمبر میں آئی۔'
اگر [[ $ str=[سی بی آر]پر]]؛پھر
باہر پھینک دیاپایا
ہو

پیٹرن ، [cbr] پر مماثل بلی ہے ، جو 'c' سے شروع ہوتی ہے ، اور جو جاری رہتی ہے اور at پر ختم ہوتی ہے۔ [cbr] کا مطلب ہے ، میچ 'c' یا 'b' یا 'r' کے بعد at.

مندرجہ ذیل کوڈ کی آؤٹ پٹ مل گئی ہے ، مطلب ایک میچ ہوا

p=چمگادڑ چیمبر میں آئی۔
اگر [[ $ str=[سی بی آر]پر]]؛پھر
باہر پھینک دیاپایا
ہو

پیٹرن ، [cbr] میں مماثل بیٹ ہے ، جو 'b' سے شروع ہوتا ہے ، اور جو جاری رہتا ہے اور at پر ختم ہوتا ہے۔ [cbr] کا مطلب ہے ، میچ 'c' یا 'b' یا 'r' کے بعد at.

مندرجہ ذیل کوڈ کی آؤٹ پٹ مل گئی ہے ، مطلب ایک میچ ہوا

p='چوہا چیمبر میں آیا۔'
اگر [[ $ str=[سی بی آر]پر]]؛پھر
باہر پھینک دیاپایا
ہو

پیٹرن ، [cbr] پر مماثل چوہا ہے ، جو 'r' سے شروع ہوتا ہے ، اور جو جاری رہتا ہے اور at پر ختم ہوتا ہے۔

مذکورہ کوڈ کے نمونوں میں ، پروگرامر نہیں جانتا کہ ہدف کے تار میں بلی یا چمگادڑ یا چوہا موجود ہے۔ لیکن ، وہ جانتا ہے کہ سبٹرنگ 'c' یا 'b' یا 'r' سے شروع ہوتی ہے ، پھر جاری رہتی ہے اور اس کے ساتھ ختم ہوتی ہے۔ ایک پیٹرن میں اسکوائر بریکٹ مختلف ممکنہ حروف کو ہدف میں دوسروں کی نسبت ایک پوزیشن پر ایک کردار سے ملنے کی اجازت دیتا ہے۔ تو ، مربع بریکٹ میں حروف کا ایک مجموعہ ہوتا ہے ، جن میں سے ایک سبٹرنگ کے لیے مماثل ہوتا ہے۔ آخر میں ، یہ مکمل سٹرنگ ہے جو مماثل ہے۔

حروف کی حد۔

مذکورہ کوڈ میں [cbr] ایک کلاس ہے۔ یہاں تک کہ اگر 'c' یا 'b' یا 'r' کسی ایک حرف سے مماثل ہے ، اگر اس کے بعد آنے والا فورا مماثل نہیں ہے تو ، نمونہ کسی بھی چیز سے مماثل نہیں ہوگا۔

ٹھیک ہے ، کچھ حدود ہیں جو ایک کلاس تشکیل دیں گی۔ مثال کے طور پر ، 0 سے 9 ہندسے کلاس بناتے ہیں ، [0-9] 0 اور 9 کے ساتھ۔ لوئر کیس 'a' سے 'z' کلاس بناتا ہے [a-z] جس میں 'a' اور 'z' شامل ہوتا ہے۔ اپر کیس 'A' سے 'Z' کلاس بناتا ہے [A-Z] جس میں 'A' اور 'Z' شامل ہوتا ہے۔ ایک کلاس سے ، یہ حروف میں سے ایک ہے جو تار میں ایک حرف سے مماثل ہوگا۔

مندرجہ ذیل کوڈ ایک میچ پیدا کرتا ہے:

اگر [[ 'ID8id'=[-] ]]؛پھر
باہر پھینک دیاپایا
ہو

اس بار ہدف حالت میں لفظی تار ہے۔ 8 ، جو کہ رینج کے اندر ممکنہ نمبروں میں سے ایک ہے ، [0-9] ، سٹرنگ میں 8 سے ملتا ہے ، 'ID8id'۔ مندرجہ بالا کوڈ اس کے برابر ہے:

اگر [[ 'ID8id'=[0123456789۔] ]]؛پھر
باہر پھینک دیاپایا
ہو

یہاں ، تمام ممکنہ نمبر پیٹرن میں لکھے گئے ہیں ، لہذا کوئی ہائفن نہیں ہے۔

مندرجہ ذیل کوڈ میں ، ایک میچ حاصل کیا جاتا ہے:

اگر [[ 'ID8iD'=[a-z] ]]؛پھر
باہر پھینک دیاپایا
ہو

میچ رینج کے لوئر کیس 'i' ، [a-z] ، اور ٹارگٹ سٹرنگ 'ID8iD' کے لوئر کیس 'i' کے درمیان ہے۔

یاد رکھیں: رینج ایک کلاس ہے۔ کلاس ایک بڑے پیٹرن کا حصہ ہوسکتی ہے۔ تو ایک پیٹرن میں ، متن سامنے اور/یا کلاس کے بعد ہوسکتا ہے۔ مندرجہ ذیل کوڈ اس کی وضاحت کرتا ہے:

اگر [[ 'ID8id شناخت کنندہ ہے'= ~ ID۔[-]آئی ڈی ]]؛پھر
باہر پھینک دیاپایا
ہو

آؤٹ پٹ ہے: ملا۔ پیٹرن سے 'ID8id' ٹارگٹ سٹرنگ میں 'ID8id' سے مماثل ہے۔

منفی

ملاپ درج ذیل کوڈ سے حاصل نہیں کیا گیا ہے۔

اگر [[ '0123456789101112'=[۔-] ]]؛پھر
باہر پھینک دیاپایا
اور
باہر پھینک دیانہیں ملا
ہو

پیداوار یہ ہے:

نہیں ملا

رینج کے سامنے Without کے بغیر ، مربع بریکٹ کے اندر ، رینج کا صفر ہدف کے تار کے پہلے صفر سے مماثل ہوتا۔ تو ، a ایک رینج کے سامنے (یا اختیاری حروف) کلاس کی نفی کرتا ہے۔

مندرجہ ذیل کوڈ ایک مماثلت پیدا کرتا ہے کیونکہ شرط پڑھی جاتی ہے: ہدف میں کہیں بھی کسی بھی ہندسے کے حروف سے میچ کریں:

اگر [[ 'ABCDEFGHIJ'=[۔-] ]]؛پھر
باہر پھینک دیاپایا
اور
باہر پھینک دیانہیں ملا
ہو

تو آؤٹ پٹ ہے: ملا۔

[^0-9] کا مطلب غیر ہندسہ ہے ، لہذا [^0-9] [0-9] کی نفی ہے۔

[^a-z] کا مطلب ہے ایک چھوٹا حرف ، لہذا [^a-z] [a-z] کی نفی ہے۔

[^A-Z] کا مطلب غیر بڑے حرف ہے ، لہذا [^A-Z] [A-Z] کی نفی ہے۔

دیگر نفی دستیاب ہیں۔

پیٹرن میں مدت (.)

پیٹرن میں مدت (.) خود سمیت کسی بھی کردار سے مماثل ہے۔ درج ذیل کوڈ پر غور کریں:

اگر [[ '6759WXY.A3'= ~ 7.9W.Y.A]]؛پھر
باہر پھینک دیاپایا
ہو

کوڈ کا آؤٹ پٹ پایا جاتا ہے کیونکہ دوسرے کردار ملتے ہیں۔ ایک نقطہ '5' سے ملتا ہے ایک اور نقطہ 'X' سے ملتا ہے اور آخری نقطہ ایک نقطے سے ملتا ہے۔

مماثل متبادل۔

ٹارگٹ سٹرنگ کے لیے اس جملے پر غور کریں:

پنجرے میں مختلف اقسام کے پرندے ہوتے ہیں۔

کوئی جاننا چاہے گا کہ اس ہدف میں کبوتر ہے یا مور یا عقاب۔ مندرجہ ذیل کوڈ استعمال کیا جا سکتا ہے:

p='پنجرے میں مختلف اقسام کے مور ہوتے ہیں۔'
اگر [[ $ str= ~ کبوتر|مور|عقاب]]؛پھر
باہر پھینک دیاپایا
اور
باہر پھینک دیانہیں ملا
ہو

آؤٹ پٹ ہے ، مل گیا۔ الٹرنشن میٹا کریکٹر ، | ملازم کیا گیا ہے. دو ، تین ، چار اور زیادہ متبادل ہو سکتے ہیں۔ اس کوڈ میں جو مماثل ہے وہ ہے 'مور'۔

گروہ بندی۔

مندرجہ ذیل پیٹرن میں ، قوسین کو حروف کو گروپ کرنے کے لیے استعمال کیا گیا ہے:

ایک اسٹیج (رقاصہ)

یہاں گروپ ایک اسٹیج ڈانسر ہے جس کے چاروں طرف میٹا کریکٹرز (اور) ہیں۔ (رقاصہ) ایک ذیلی گروپ ہے ، جبکہ ایک اسٹیج (رقاصہ) پورا گروپ ہے۔ درج ذیل پر غور کریں:

(رقاصہ زبردست ہے)

یہاں ، سب گروپ یا سبٹرنگ ہے ، ڈانسر زبردست ہے۔

عام حصوں کے ساتھ سبٹرنگز۔

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

ویب سائٹ ، اسٹیک ڈاٹ کام کاروبار کے لیے ہے۔

وہاں اسٹیک ہولڈر ہے؛

اسٹیک ہولڈر اسٹیک ڈاٹ کام کے لیے کام کرتا ہے۔

ان ڈوروں میں سے کوئی بھی ہدف بننے دو۔ پروگرامر جاننا چاہ سکتا ہے کہ اسٹیک ڈاٹ کام یا اسٹیک ہولڈر کسی بھی ہدف کے سلسلے میں ہے یا نہیں۔ اس کا نمونہ یہ ہوگا:

اسٹیک ڈاٹ کام | اسٹیک ہولڈر

متبادل کا استعمال کرتے ہوئے

داؤ دو الفاظ میں دو بار ٹائپ کیا گیا ہے۔ پیٹرن کو ٹائپ کرکے اس سے بچا جاسکتا ہے:

داؤ (.com | ہولڈر)

.com | ہولڈر اس معاملے میں سب گروپ ہے۔

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

p=ویب سائٹ ، اسٹیک ڈاٹ کام کاروبار کے لیے ہے۔
اگر [[ $ str= ~ داؤ۔(کے ساتھ|ہولڈر) ]]؛پھر
باہر پھینک دیاپایا
ہو

یہاں مماثل سبسٹریگ ڈاٹ کام ہے۔

BASH_REMATCH پیش وضاحتی صف۔

BASH_REMATCH ایک پہلے سے طے شدہ صف ہے۔ فرض کریں کہ ایک پیٹرن میں گروپ ہوتے ہیں۔ پورا گروپ مماثل ہے ، اس صف کے انڈیکس 0 کے سیل میں جاتا ہے۔ پہلا سب گروپ مماثل ، انڈیکس 1 کے سیل میں جاتا ہے۔ دوسرا سب گروپ مماثل ، انڈیکس 2 کے سیل میں جاتا ہے ، اور اسی طرح۔ مندرجہ ذیل کوڈ ظاہر کرتا ہے کہ اس صف کو کیسے استعمال کیا جائے:

p='سٹیج ڈانسر آئی ہے۔'
اگر [[ $ str= 'اسٹیج'(رقاصہ) ]]؛پھر
باہر پھینک دیاپایا
ہو

کے لیےمیںمیں $ {! BASH_REMATCH [@]}؛کیا
پرنٹ ایف '$ {BASH_REMATCH [i]}، '
ہو گیا
باہر پھینک دیا

پیداوار یہ ہے:

پایا
اسٹیج ڈانسر ، ڈانسر ،

پورا گروپ اسٹیج ڈانسر ہے۔ صرف ایک ذیلی گروپ ہے ، جو ڈانسر ہے۔

نوٹ: پیٹرن میں جگہ بچ گئی ہے۔

اپر/لوئر کیس آزادی میچنگ۔

میچنگ ، ​​جیسا کہ اوپر بیان کیا گیا ہے ، کیس حساس ہے۔ مماثلت کیس سے آزادانہ طور پر کی جا سکتی ہے۔ یہ مندرجہ ذیل کوڈ میں واضح ہے:

دکانیں nocasematch

p='ہمیں اچھی موسیقی پسند ہے۔'
اگر [[ $ str= ~ GoOd]]؛پھر
باہر پھینک دیاپایا
ہو

دکانیں nocasematch

آؤٹ پٹ ہے: ملا۔ پیٹرن ہے ، GoOd. مماثل سبٹرنگ 'اچھا' ہے۔ نوٹ کریں کہ کس طرح nocasematch آپشن کوڈ سیکشن کے آغاز میں فعال کیا گیا ہے اور کوڈ سیکشن کے اختتام پر غیر فعال ہے۔

سٹرنگ کی لمبائی

تار کی لمبائی حاصل کرنے کے لیے نحو یہ ہے:

$ {#پیرامیٹر}

مثال:

p='ہمیں اچھی موسیقی پسند ہے۔'
باہر پھینک دیا $ {# str}

پیداوار ہے: 19۔

سٹرنگ میں کمی۔

سٹرنگ کم کرنے کے نحو یہ ہیں:

$ {پیرامیٹر: آفسیٹ}
$ {پیرامیٹر: آفسیٹ: LENGTH}

جہاں آفسیٹ کی گنتی صفر سے شروع ہوتی ہے۔

مندرجہ ذیل مثال سے پتہ چلتا ہے کہ تار کے پہلے 11 حروف کو کیسے ہٹایا جائے:

p='میں ہمیشہ اچھی موسیقی پر رقص کرتا ہوں۔'
باہر پھینک دیا $ {str: 10}

پیداوار یہ ہے:

اچھی موسیقی کے لیے.

LENGTH کی گنتی ، اگلے کردار سے شروع ہوتی ہے۔ مندرجہ ذیل کوڈ سے پتہ چلتا ہے کہ سٹرنگ کے اندر کسی حصے کی اجازت کیسے دی جا سکتی ہے۔

p='میں ہمیشہ اچھی موسیقی پر رقص کرتا ہوں۔'
باہر پھینک دیا $ {str: 10: 6}

پیداوار یہ ہے:

ance ٹی

پہلے 11 حروف کو ہٹا دیا گیا۔ اگلے 6 حروف کی اجازت تھی ، اور باقی حروف خود بخود ہٹ گئے۔

تلاش کریں اور تبدیل کریں۔

جب ایک سٹرنگ مل جاتا ہے ، اسے دوسرے سٹرنگ سے تبدیل کیا جا سکتا ہے۔ اس کے لیے نحو یہ ہیں:

کہاں=$ {پیرامیٹر/پیٹرن/تبدیلی}
کہاں=$ {پیرامیٹر // پیٹرن/تبدیلی}
کہاں=$ {پیرامیٹر/پیٹرن}
کہاں=$ {پیرامیٹر // پیٹرن}

سنگل فارورڈ سلیش والے پہلے نحو کے لیے ، صرف پہلا میچ تبدیل کیا جاتا ہے۔ مثال:

p=چیمبر میں ایک چوہا ، ایک چمگادڑ اور ایک بلی ہے۔
ٹھیک ہے=$ {str/[cbr] at/big cow}
باہر پھینک دیا $ str
باہر پھینک دیا $ ret

پیداوار یہ ہے:

ایوان میں ایک چوہا ، ایک چمگادڑ اور ایک بلی ہے۔
چیمبر میں ایک بڑی گائے ، چمگادڑ اور بلی ہے۔

ڈبل فارورڈ سلیش والے دوسرے نحو کے لیے ، میچ کے تمام واقعات کو تبدیل کر دیا گیا ہے۔ مثال:

p=چیمبر میں ایک چوہا ، ایک چمگادڑ اور ایک بلی ہے۔
ٹھیک ہے=$ {str // [cbr] at/big cow}
باہر پھینک دیا $ str
باہر پھینک دیا $ ret

پیداوار یہ ہے:

ایوان میں ایک چوہا ، ایک چمگادڑ اور ایک بلی ہے۔
چیمبر میں ایک بڑی گائے ، ایک بڑی گائے اور ایک بڑی گائے ہے۔

سنگل فارورڈ سلیش والے تیسرے نحو کے لیے ، پہلے اور واحد میچ کا کوئی متبادل نہیں ہے۔

نیز ، ملنے والا پہلا سبٹرنگ حذف کر دیا گیا ہے۔ مثال:

p=چیمبر میں ایک چوہا ، ایک چمگادڑ اور ایک بلی ہے۔
ٹھیک ہے=$ {str/[cbr] at}
باہر پھینک دیا $ str
باہر پھینک دیا $ ret

ڈبل فارورڈ سلیش کے ساتھ چوتھے نحو کے لیے ، تمام میچوں کا کوئی متبادل نہیں ہے۔ نیز ، پائے جانے والے سب سٹرنگز کو حذف کردیا گیا ہے۔ مثال:

p=چیمبر میں ایک چوہا ، ایک چمگادڑ اور ایک بلی ہے۔
ٹھیک ہے=$ {str // [cbr] at}
باہر پھینک دیا $ str
باہر پھینک دیا $ ret

پیداوار یہ ہے:

ایوان میں ایک چوہا ، ایک چمگادڑ اور ایک بلی ہے۔
چیمبر میں a ، a اور a ہے۔

نتیجہ

یہ چیک کرنے کے لیے کہ آیا بش میں سٹرنگ کا سبٹرنگ ہے ، پیٹرن میچنگ کا استعمال کرنا ہوگا۔ پیٹرن میچنگ نہ صرف ڈبل بریکٹ کی حالت میں ہوتا ہے ، [[. . . ]]. یہ $ {کے ساتھ ، پیرامیٹر کی توسیع میں بھی جگہ لے سکتا ہے۔ . .} پیرامیٹر کی توسیع کے ساتھ ، انڈیکس کے ذریعہ ایک سٹرنگ حاصل کرنا ممکن ہے۔

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