جاوا ریجیکس - باقاعدہ اظہارات کیا ہیں اور اسے کیسے استعمال کریں؟



جاوا ریجیکس ایک ایسا API ہے جو تاروں کو تلاش کرنے یا جوڑ توڑ کرنے کے لئے پیٹرن کی وضاحت کے لئے استعمال ہوتا ہے۔ یہ مضمون جاوا کے ذریعہ فراہم کردہ باقاعدہ اظہار کی مختلف کلاسوں کے بارے میں بھی بات کرے گا۔

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

آو شروع کریں!





باقاعدہ تاثرات کیا ہیں؟

TO باقاعدہ اظہار حروف کا ایک سلسلہ ہے جو تلاش کا نمونہ تشکیل دیتا ہے۔ جب آپ کسی متن میں ڈیٹا کی تلاش کرتے ہیں تو ، آپ اپنی تلاش کے نمونے کو بیان کرنے کے لئے اس تلاش کا نمونہ استعمال کرسکتے ہیں۔

باقاعدہ اظہار - جاوا Regex - Edureka



جاوا نے اسٹرنگ کو تاریخ میں تبدیل کیا

ایک باقاعدہ اظہار a ہوسکتا ہے ایک کردار یا زیادہ پیچیدہ نمونہ۔ یہ کسی بھی قسم کی ٹیکسٹ سرچ اور ٹیکسٹ ریپلیٹ کاروائیوں کے لئے استعمال کیا جاسکتا ہے۔ ایک ریجیکس پیٹرن عام کرداروں پر مشتمل ہوتا ہے ، جیسے / abc / ، یا عام اور خاص حروف کا مجموعہ ، جیسے / اب * سی / یا /example(d+).d*/ .

جاوا Regex کیا ہے؟

جاوا ریجیکس ایک ایسا API ہے جس کی عادت ہے تلاش یا ہیرا پھیری کے لئے ایک نمونہ کی وضاحت کریں . اس کا استعمال وسیع پیمانے پر اسٹرنگس کی رکاوٹوں کو واضح کرنے جیسے پاس ورڈ اور ای میل کی توثیق کے لئے کیا جاتا ہے۔

جاوا ریجیکس کے استعمال کے مختلف طریقے ہیں۔ تو آئیے ہم آگے بڑھیں اور مختلف تاثرات پر ایک نظر ڈالیں۔



میچر کلاس

اس کلاس کا استعمال میچ کی کارروائیوں کو کریکٹر تسلسل پر کرنے کے لئے کیا جاتا ہے۔ جدول کے نیچے میچر کلاس کے مختلف طریقوں کی نمائندگی کی گئی ہے۔

طریقہ تفصیل
بولین میچ () جانچ پڑتال کرتا ہے کہ آیا دیئے گئے باقاعدہ اظہار کے انداز سے میل کھاتا ہے
بولین تلاش () اگلے اظہار کو تلاش کرنے کے لئے استعمال کیا جاتا ہے جو نمونہ سے مماثل ہے
بولین فائنڈ (انٹ اسٹارٹ) اگلے اظہار کی تلاش کرتا ہے جو دیئے گئے نمبر سے نمونے سے میل کھاتا ہے
سٹرنگ گروپ () مماثل تقلید کو واپس کرنے کے لئے استعمال کیا جاتا ہے
INT اسٹارٹ () مماثل تقلید کا ابتدائی اشاریہ لوٹاتا ہے
ارادہ() مماثل تقابل کا اختتامی انڈیکس لوٹاتا ہے
گروپ گروپ () مماثل پیروی کی کل تعداد لوٹاتا ہے

پیٹرن کلاس

پیٹرن کلاس باقاعدہ اظہار کا ایک مرتب کردہ ورژن ہے جو ریجیکس انجن کے نمونے کی وضاحت کے لئے استعمال ہوتا ہے۔

طریقہ تفصیل
جامد پیٹرن مرتب (سٹرنگ ریجیکس) یہ دیئے گئے ریجیکس کو مرتب کرتا ہے اور پیٹرن کی مثال واپس کرتا ہے
میچ میچ (چار سیکنڈ ان پٹ) اس کا استعمال ایک مطابقت پیدا کرنے کے لئے کیا جاتا ہے جو دیئے گئے ان پٹ کو پیٹرن سے ملتا ہے
جامد بولین میچ (سٹرنگ ریجیکس ، چار سیکینس ان پٹ) یہ مرتب اور میچچر طریقوں کے امتزاج کے طور پر کام کرتا ہے۔ یہ باقاعدہ اظہار کو مرتب کرتا ہے اور دیئے گئے ان پٹ کو پیٹرن سے ملاتا ہے
سٹرنگ [] تقسیم (چار سیکنڈ ان پٹ) دیئے گئے پیٹرن کے میچوں کے گرد دیئے گئے ان پٹ اسٹرنگ کو تقسیم کرنے کیلئے استعمال ہوتا ہے
سٹرنگ پیٹرن () ریجیکس پیٹرن واپس کرنے میں مدد کرتا ہے

اب باقاعدہ اظہار لکھنے کا طریقہ سمجھنے کے لئے ایک چھوٹی سی مثال لیتے ہیں۔

درآمد java.util.regex. * عوامی کلاس RegexExample {عوامی جامد باطل اہم (سٹرنگ [] آرگس) {پیٹرن پیٹرن = پیٹرن ڈاٹ پیائل ('. xx.') میچچر میچچر = پیٹنر ڈاٹ میچر ('AxxB') سسٹم ڈاٹ۔ .println ('سٹرنگ دیئے گئے ریجیکس سے ملتی ہے - + matcher.matches ())}}

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

آؤٹ پٹ:
سچ ہے

طریقہ اوورلوڈنگ بمقابلہ طریقہ اوور رائڈنگ

اب جاوا باقاعدہ اظہار کی کچھ اور اقسام دیکھتے ہیں۔

ریجیکس کریکٹر کلاس

جدول کے نیچے کردار کے مختلف طبقاتی امتزاج کی نمائندگی کی گئی ہے۔

کریکٹر کلاستفصیل
[abc] a ، b ، یا c (سادہ کلاس)
[^ abc] A ، b ، یا c (نفی) کے علاوہ کوئی بھی کردار
[a-zA-Z] A کے ذریعے Z یا A سے Z تک ، شامل (حد)
[a-d [m-p]] a سے d ، یا m کے ذریعے p: [a-dm-p] (یونین)
[a-z && [Def]] d ، e ، یا f (چوراہا)
[a-z&& [^ bc]] اے ٹو زیڈ ، سوائے ب اور سی کے علاوہ: [اشتہار-ز] (گھٹاؤ)
[a-z&& [^ m-p]] اے تھراڈ زیڈ ، اور ایم کے ذریعے نہیں پی: [a-lq-z] (گھٹاؤ)

مثال:

درآمد java.util.regex. * عوامی طبقے کی کریکٹر نمونہ {عوامی جامد باطل اہم (سٹرنگ آرگز []) {// غلط (x یا y یا z نہیں) System.out.println (پیٹرن.میچس ('[xyz]' ، 'wbcd')) // true (x یا y یا z کے درمیان) System.out.println (Pattern.matches ('[xyz]'، 'x')) // غلط (x اور y ایک سے زیادہ بار آتے ہیں) سسٹم .out.println (پیٹرن.میچس ('[xyz]'، 'xxyyyyyz'))}

ریجیکس کوانٹفائر

کوانٹفائیر ایک کردار کے وقوع پذیر ہونے کی تعداد کی وضاحت کرتے ہیں۔ جدول کے نیچے مختلف مقدار کو پیش کرتا ہے۔

ریجیکستفصیل
ایکس؟ ایکس ایک بار ہوتا ہے یا بالکل نہیں
ایکس + ایکس ایک یا زیادہ بار ہوتا ہے
ایکس * X صفر یا اس سے زیادہ بار ہوتا ہے
X {n ایکس صرف نون بار ہوتا ہے
X {n، ایکس ن یا زیادہ بار ہوتا ہے
X اور Z X کم سے کم y بار ہوتا ہے لیکن z ٹائم سے بھی کم

مثال:

درآمد java.util.regex. * عوامی کلاس مثال {عوامی جامد باطل اہم (سٹرنگ آرگس []) {System.out.println ('؟ quantifier ....') // (a یا y یا z ایک بار آتا ہے) سسٹم.اٹ.پرنٹلن (پیٹرن.میچس ('[آئز]؟'، 'ا')) // آؤٹ پٹ: ٹور سسٹم آؤٹ.پریٹلن (پیٹرن.میچس ('[آئز]؟' ، 'آا')) / / (ay اور z ایک بار سے زیادہ وقت میں آتا ہے) سسٹم آؤٹ.پریٹلن (پیٹرن ڈاٹ میچس ('[آئز]؟' ، 'آئیاز')) // آؤٹ پٹ: غلط // (ایک سے زیادہ وقت آتا ہے) سسٹم۔ out.println (Pattern.matches ('[ayz]؟'، 'amnta')) // آؤٹ پٹ: غلط // (a یا y یا z لازمی طور پر ایک بار آنا چاہئے) System.out.println (پیٹرن.میچس ('[ ayz]؟ . میچز ('[آئز] +' ، 'ا')) // آؤٹ پٹ: ٹھوس // (ایک وقت میں ایک سے زیادہ وقت آتا ہے) سسٹم آؤٹ.پرنٹ لین (پیٹرن.میچس ('[آئز] +' ، 'آا' )) // outpu: true // (a یا y یا z ایک سے زیادہ بار آتے ہیں) System.out.println (Pattern.matches ([amn] + '،' aayyyzz ')) // آؤٹ پٹ: سچ // (z اور t پیٹرن سے مماثل نہیں ہیں) System.out.println (پیٹ tern.matches ('[ayz] +'، 'aammta')) // آؤٹ پٹ: غلط System.out.println ('* کوانٹیفائر ....') // (a یا y یا z صفر یا اس سے زیادہ بار آسکتا ہے ) System.out.println (پیٹرن.میچس ('[آئز] *' ، 'آئیازا')) // آؤٹ پٹ: سچ}}

بنیادی طور پر ، یہ مماثل مقدار کو تلاش کرے گا اور تلاش کے نتائج سے مماثل ہے۔

ریجیکس میٹاچارٹرس

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

ریجیکستفصیل
. یہ کوئی بھی کردار ہوسکتا ہے (ٹرمنیٹر سے میل کھاتا ہے یا نہیں بھی)
d کسی بھی ہندسے کی نمائندگی کرتا ہے ، [0-9] سے کم
ڈی [^ 0-9] کے لئے مختصر ، کسی بھی عدد کی نمائندگی کرتا ہے
s [tnx0Bfr] کے لئے مختصر ، کسی بھی جگہ کی جگہ کی نمائندگی کرتا ہے
ایس یہ ایک خالی جگہ نہیں ہوسکتی ہے ، جو [^ s] کے لئے مختصر ہے
میں یہ [a-zA-Z_0-9] کے لئے مختصر لفظی حرف ہوسکتا ہے۔
میں کسی بھی غیر لفظی کردار کی نمائندگی کرتا ہے ، [[w] کے لئے مختصر
b ایک لفظ کی حدود کی نمائندگی کرتا ہے
بی یہ ایک غیر لفظی حد ہے

مثال:

پی ایچ پی میں سرنی پرنٹ کرنے کا طریقہ
درآمد java.util.regex. * عوامی کلاس MetacharExample {عوامی جامد باطل اہم (سٹرنگ آرگز []] {// d کا مطلب ہندسہ System.out.println ('metacharacters d ....') // (غیر ہندسے) System.out.println (Pattern.matches ('d'، 'abc')) // آؤٹ پٹ: غلط // (ہندسہ اور ایک بار آتا ہے) System.out.println (پیٹرن.میچ ('d'، '1') ) // آؤٹ پٹ: صحیح // (ہندسہ لیکن ایک سے زیادہ بار آتا ہے) System.out.println (Pattern.matches ('d'، '4443')) // آؤٹ پٹ: غلط // (ہندسہ اور چار) سسٹم آؤٹ .println (Pattern.matches ('d'، '323abc')) // آؤٹ پٹ: غلط // ڈی کا مطلب ہے نان ہندسہ کا نظام.اٹ.پرنٹ لن ('میٹاچارٹرس ڈی ....') // (غیر ہندسہ لیکن ایک سے زیادہ بار آتا ہے) System.out.println (Pattern.matches ('D'، 'abc')) // آؤٹ پٹ: غلط // It a Digit System.out.println (Pattern.matches ('D'، '1) ')) // آؤٹ پٹ: غلط سسٹم آؤٹ.پریٹلن (پیٹرن.میچ (' ڈی '،' 4443 ')) // آؤٹ پٹ: غلط // (ہندسہ اور چار) سسٹم آؤٹ.پریٹلن (پیٹرن.میچس (' D '،' 323abc ')) // آؤٹ پٹ: غلط // (غیر ہندسہ اور ایک بار آتا ہے) System.out.println (پیٹرن.میچس (' D '،' م ')) // آؤٹ پٹ: ٹر سسٹم ڈاٹ۔ .پی intln ('کوانٹافیئر کے ساتھ میٹاچارٹر D ....') // (غیر ہندسہ اور 0 یا زیادہ بار آسکتا ہے) System.out.println (پیٹرن.میچس ('D *' ، 'ابک')) // آؤٹ پٹ : سچ}}

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

چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کے نیٹ ورک ہیں۔ ہم آپ کے سفر کے ہر قدم میں آپ کی مدد کرنے کے لئے یہاں موجود ہیں ، اس جاوا انٹرویو سوالات کے علاوہ بننے کے ل we ، ہم ایک نصاب تیار کرتے ہیں جو طلباء اور پیشہ ور افراد کے لئے تیار کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔

ہمارے لئے ایک سوال ہے؟ برائے کرم اس 'جاوا ریجیکس' مضمون کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد از جلد آپ کے پاس مل جائیں گے۔