JavaRush /جاوا بلاگ /Random-SD /جاوا ۾ باقاعده اظهار (RegEx)

جاوا ۾ باقاعده اظهار (RegEx)

گروپ ۾ شايع ٿيل
باقاعده اظهار هڪ موضوع آهي جنهن کي پروگرامر، جيتوڻيڪ تجربا ڪندڙ، اڪثر دير سان دير تائين بند ڪري ڇڏيندا آهن. جڏهن ته، اڪثر جاوا ڊولپرز جلد يا بعد ۾ ٽيڪسٽ پروسيسنگ سان معاملو ڪرڻو پوندو. گهڻو ڪري - متن ۽ ايڊيٽنگ ۾ ڳولا جي عملن سان. باقاعده اظهار جي بغير، ٽيڪسٽ پروسيسنگ سان لاڳاپيل پيداوار ۽ ڪمپيڪٽ پروگرام ڪوڊ صرف ناقابل تصور آهي. تنهن ڪري ان کي بند ڪرڻ بند ڪريو، اچو ته هن وقت ”باقاعده“ سان معاملو ڪريون. هي اهڙو ڏکيو ڪم ناهي.

RegEx باقاعده اظهار ڇا آهي؟

حقيقت ۾، هڪ باقاعده اظهار (جاوا ۾ RegEx) متن ۾ اسٽرنگ ڳولڻ لاء هڪ نمونو آهي. جاوا ۾، هن نموني جي ابتدائي نمائندگي هميشه هڪ اسٽرنگ آهي، اهو آهي، اسٽرنگ طبقي جو هڪ اعتراض. بهرحال، ڪنهن به اسٽرنگ کي باقاعده اظهار ۾ مرتب نه ٿو ڪري سگهجي، صرف اهي جيڪي باقاعده اظهار لکڻ جي ضابطن جي تعميل ڪن ٿا - ٻولي جي وضاحت ۾ بيان ڪيل نحو. هڪ باقاعده اظهار لکڻ لاء، الفابيٽ ۽ عددي اکرن کي استعمال ڪيو ويندو آهي، انهي سان گڏ metacharacters - اکر جيڪي باقاعده اظهار جي نحو ۾ هڪ خاص معني رکن ٿا. مثال طور:
String regex = "java"; // string template "java";
String regex = "\\d{3}"; // string template of three numeric characters;

جاوا ۾ باقاعده اظهار ٺاهڻ

جاوا ۾ هڪ RegEx ٺاهڻ لاء، توهان کي ٻه سادي قدمن جي پيروي ڪرڻ جي ضرورت آهي:
  1. ان کي باقاعده اظهار نحو استعمال ڪندي اسٽرنگ طور لکو؛
  2. هن تار کي باقاعده اظهار ۾ گڏ ڪريو؛
ڪنهن به جاوا پروگرام ۾ باقاعده اظهار سان ڪم ڪرڻ شروع ٿئي ٿو طبقاتي اعتراض ٺاهڻ سان Pattern. هن کي ڪرڻ لاءِ، توهان کي ڪلاس ۾ موجود ٻن جامد طريقن مان هڪ کي ڪال ڪرڻ جي ضرورت آهي compile. پهريون طريقو هڪ دليل وٺندو آهي - هڪ باقاعده اظهار جو هڪ اسٽرنگ لفظي، ۽ ٻيو - گڏوگڏ هڪ ٻيو پيٽروم جيڪو موڊ کي موڙيندو آهي متن سان ٽيمپليٽ جي مقابلي لاءِ:
public static Pattern compile (String literal)
public static Pattern compile (String literal, int flags)
ممڪن پيٽرولر جي قيمتن جي فهرستflags ڪلاس ۾ بيان ڪئي وئي آھي Pattern۽ اسان وٽ موجود آھي جامد ڪلاس متغير. مثال طور:
Pattern pattern = Pattern.compile("java", Pattern.CASE_INSENSITIVE);//searching for matches with the pattern will be done case-insensitively.
لازمي طور تي، ڪلاس Patternهڪ باقاعده اظهار تعمير ڪندڙ آهي. هود جي تحت، طريقو compileڪلاس جي نجي تعمير ڪندڙ کي سڏيندو آهي Patternهڪ مرتب ٿيل منظر ٺاهي. ٽيمپليٽ مثال ٺاهڻ جو هي طريقو ان مقصد سان لاڳو ڪيو ويو آهي ته ان کي هڪ ناقابل قابل اعتراض طور تي ٺاهيو وڃي. جڏهن ٺاهي، باقاعده اظهار جي هڪ نحو چيڪ ڪيو ويندو آهي. جيڪڏهن لائن ۾ غلطيون آهن، هڪ استثنا پيدا ڪيو ويندو آهي PatternSyntaxException.

باقاعده اظهار نحو

باقاعده اظهار نحو علامتن جي استعمال تي ٻڌل آهي <([{\^-=$!|]})?*+.>، جنهن کي الفابيٽ جي اکرن سان گڏ ڪري سگهجي ٿو. انهن جي ڪردار تي مدار رکندي، اهي ڪيترن ئي گروپن ۾ تقسيم ڪري سگهجي ٿو:
1. لڪير جي حدن يا متن کي ملائڻ لاءِ ميٽا اکر
Metacharacter مقصد
^ لائن جي شروعات
$ لائن جي پڇاڙي
\b لفظ جي حد
\ بي لفظ جي حد نه آهي
\A داخل ٿيڻ جي شروعات
\ جي پوئين ميچ جي پڄاڻي
\Z ان پٽ جي پڄاڻي
\z ان پٽ جي پڄاڻي
2. ڪردار طبقن جي ڳولا لاءِ ميٽا اچار
Metacharacter مقصد
\d ڊجيٽل علامت
\ ڊي غير عددي ڪردار
\s خلائي ڪردار
\ ايس غير اڇو اسپيس ڪردار
\w الفانوميرڪ ڪردار يا انڊر اسڪور
\W الفابيٽ، عددي، يا انڊر اسڪور کان سواءِ ڪو به ڪردار
. ڪو به ڪردار
3. ٽيڪسٽ ايڊيٽنگ جي نشانين جي ڳولا لاءِ Metacharacters
Metacharacter مقصد
\ t ٽيب ڪردار
\n نئون ڪردار
گاڏي جي واپسي جو ڪردار
\f نئين صفحي ڏانهن وڃو
\u0085 ايندڙ لائن ڪردار
\u 2028 لڪير ڌار ڪندڙ ڪردار
\u 2029 پيراگراف جدا ڪندڙ علامت
4. اکرن کي گروپ ڪرڻ لاءِ ميٽا اچار
Metacharacter مقصد
[a B C] مٿين مان ڪو به (a، b، يا c)
[^abc] انهن کان سواء ٻيو ڪو به فهرست ڏنل نه آهي (a, b, c)
[a-zA-Z] رينج ضم ڪرڻ (لاطيني اکر a to z ڪيس غير حساس آهن)
[اشتهار[ايم پي]] اکرن جو ميلاپ (a to d ۽ m to p)
[az&&[def]] علامتن جا ٽڪرا (علامتون ڊي، اي، ايف)
[az&&[^bc]] گھٽائڻ وارا اکر (ڪردار a، dz)
5. اکرن جي تعداد کي ظاهر ڪرڻ لاءِ Metasymbols - quantifiers. مقدار ساز هميشه هڪ ڪردار يا ڪردارن جي گروهه کان پوء اچي ٿو.
Metacharacter مقصد
؟ هڪ يا غائب
* صفر يا وڌيڪ ڀيرا
+ هڪ يا وڌيڪ ڀيرا
{n} n ڀيرا
{ن،} n ڀيرا يا وڌيڪ
{n،m} نه n ڀيرا کان گهٽ ۽ نه m ڀيرا کان وڌيڪ

لالچي مقدار جو طريقو

مقدار جي هڪ خاص خصوصيت انهن کي مختلف طريقن سان استعمال ڪرڻ جي صلاحيت آهي: لالچي، سپر لالچي ۽ سست. اضافي-لالچ موڊ کي quantifier کان پوء "" علامت شامل ڪندي +، ۽ سست موڊ کي " ?" شامل ڪندي. مثال طور:
"A.+a" // greedy mode
"A.++a" // over-greedy mode
"A.+?a" // lazy mode
هن ٽيمپليٽ کي مثال طور استعمال ڪندي، اچو ته اهو سمجهڻ جي ڪوشش ڪريون ته مقدار کي مختلف طريقن سان ڪيئن ڪم ڪجي. ڊفالٽ طور، مقدار ساز لالچ موڊ ۾ هلندي آهي. هن جو مطلب اهو آهي ته اهو تار ۾ سڀ کان ڊگهو ممڪن ميچ ڳولي ٿو. هن ڪوڊ کي هلائڻ جي نتيجي ۾:
public static void main(String[] args) {
    String text = "Egor Alla Alexander";
    Pattern pattern = Pattern.compile("A.+a");
    Matcher matcher = pattern.matcher(text);
    while (matcher.find()) {
        System.out.println(text.substring(matcher.start(), matcher.end()));
    }
}
اسان کي ھيٺ ڏنل ٻاھر ملندي: Alla Alexa ڏنل نموني لاء ڳولا الگورتھم " А.+а" ھيٺ ڏنل ترتيب ۾ ڪيو ويندو آھي:
  1. ڏنل نموني ۾، پهريون ڪردار روسي خط جو ڪردار آهي А. Matcherان کي متن جي هر ڪردار سان ملائي ٿو، پوزيشن صفر کان شروع ٿئي ٿو. اسان جي ٽيڪسٽ ۾ صفر جي پوزيشن تي هڪ علامت آهي Е، تنهنڪري Matcherاهو متن جي حرفن جي ترتيب سان هلندو آهي جيستائين اهو نموني سان ملندو. اسان جي مثال ۾، هي علامت آهي پوزيشن نمبر 5 تي.

    جاوا ۾ باقاعده اظهار - 2
  2. ھڪڙي ميچ کي نموني جي پھرين ڪردار سان مليو آھي، Matcherاھو ميچ کي نموني جي ٻئي ڪردار سان چيڪ ڪري ٿو. اسان جي حالت ۾، هي علامت آهي " ."، جيڪو ڪنهن به ڪردار لاء بيٺل آهي.

    جاوا ۾ باقاعده اظهار - 3

    ڇهين پوزيشن ۾ خط جي علامت آهي л. يقينا، اهو "ڪنهن به ڪردار" جي نموني سان ملندو آهي.

  3. Matcherنموني مان ايندڙ ڪردار کي جانچڻ لاءِ ھلندو آھي. اسان جي ٽيمپليٽ ۾، "" مقدار کي استعمال ڪندي بيان ڪيو ويو آهي .+. جيئن ته نموني ۾ ”ڪنهن به ڪردار“ جي ورجائڻ جو تعداد هڪ يا وڌيڪ ڀيرا هوندو آهي، ان ڪري Matcherاهو ايندڙ اکر کي اسٽرنگ مان موڙ ۾ وٺندو آهي ۽ ان کي نموني سان تعميل لاءِ چيڪ ڪندو آهي، جيستائين ”ڪنهن به ڪردار“ جي حالت پوري ٿئي ٿي، اسان جي مثال ۾ - لائن جي آخر تائين (پوزيشن نمبر 7 کان - متن جو نمبر 18).

    جاوا ۾ باقاعده اظهار - 4

    حقيقت ۾، Matcherاهو پوري لائين کي آخر تائين قبضو ڪري ٿو - اهو آهي جتي هن جو "لالچ" پاڻ کي ظاهر ڪري ٿو.

  4. Matcherمتن جي آخر تائين پهچڻ کان پوءِ ۽ А.+نموني جي “” حصي جي چڪاس مڪمل ڪرڻ کان پوءِ، ميچر باقي نمونن جي چڪاس ڪرڻ شروع ڪري ٿو - خط جو ڪردار а. جيئن ته متن اڳئين طرف ۾ ختم ٿي چڪو آهي، چيڪ ريورس هدايت ۾ ٿئي ٿو، آخري ڪردار کان شروع ٿئي ٿو:

    جاوا ۾ باقاعده اظهار - 5
  5. Matcher"ياد رکي ٿو" ورهاڱي جو تعداد ان نموني ۾ " .+" جنهن تي اهو متن جي پڄاڻي تي پهتو آهي، تنهنڪري اهو هڪ طرف ورجائڻ جو تعداد گھٽائي ٿو ۽ متن جي نموني کي چيڪ ڪري ٿو جيستائين هڪ ميچ نه ملي. جاوا ۾ باقاعده اظهار - 6

الٽرا لالچي مقدار جو طريقو

سپر لالچي موڊ ۾، ميچر ساڳيو ڪم ڪري ٿو لالچي موڊ ميڪانيزم. فرق اهو آهي ته جڏهن توهان لڪير جي آخر تائين متن کي پڪڙيو، اتي ڪا به ڳولها پوئتي نه آهي. اهو آهي، سپر لالچ موڊ ۾ پهرين ٽي مرحلا لالچ موڊ وانگر هوندا. سڄي تار کي پڪڙڻ کان پوء، ميچر باقي نموني کي شامل ڪري ٿو ۽ ان کي پڪڙيل اسٽرنگ سان مقابلو ڪري ٿو. اسان جي مثال ۾، جڏهن بنيادي طريقي سان نموني سان عمل ڪيو وڃي " А.++а"، ڪوبه ميلاپ نه ملندو. جاوا ۾ باقاعده اظهار - 7

سست مقدار ساز موڊ

  1. هن موڊ ۾، شروعاتي اسٽيج تي، لالچي موڊ ۾، نموني جي پهرين ڪردار سان هڪ ميچ ڳولڻ جي ڪوشش ڪئي وئي آهي:

    جاوا ۾ باقاعده اظهار - 8
  2. اڳيون، اهو نمونن ۾ ايندڙ ڪردار سان هڪ ميچ ڳولي ٿو - ڪنهن به ڪردار:

    جاوا ۾ باقاعده اظهار - 9
  3. لالچي موڊ جي برعڪس، سست موڊ متن ۾ مختصر ترين ميچ جي ڳولا ڪندو آهي، تنهنڪري نموني جي ٻئي ڪردار سان هڪ ميچ ڳولڻ کان پوء، جيڪو هڪ نقطي سان بيان ڪيو ويو آهي ۽ متن جي پوزيشن نمبر 6 تي ڪردار سان ملندو آهي. Matcherچيڪ ڪنداسين ته متن باقي نموني سان ملندو آهي - " а" ڪردار.

    جاوا ۾ باقاعده اظهار - 10
  4. جيئن ته متن ۾ نمونن سان ميلاپ نه ملي سگهيو آهي (ٽيڪسٽ ۾ پوزيشن نمبر 7 تي "" علامت آهي лMatcherاهو نموني ۾ هڪ ٻيو "ڪو به ڪردار" شامل ڪري ٿو، ڇاڪاڻ ته اهو هڪ يا وڌيڪ ڀيرا بيان ڪيو ويو آهي، ۽ ٻيهر نمونن جو تقابلي متن سان نمبر 5 کان نمبر 8 تائين:

    جاوا ۾ باقاعده اظهار - 11
  5. اسان جي صورت ۾، هڪ ميچ مليو، پر متن جي پڄاڻي اڃا تائين پهچي نه سگهيو آهي. تنهن ڪري، پوزيشن نمبر 9 کان، چيڪ شروع ٿئي ٿو نمونن جي پهرين ڪردار کي ڳولڻ سان ساڳي الگورتھم استعمال ڪندي ۽ پوء متن جي آخر تائين ورجائي ٿو.

    جاوا ۾ باقاعده اظهار - 12
طريقي جي نتيجي ۾، main" А.+?а" ٽيمپليٽ استعمال ڪرڻ وقت، اسان کي ھيٺيون نتيجو ملندو: Alla Alexa جيئن اسان جي مثال مان ڏسي سگھجي ٿو، جڏھن ساڳي ٽيمپليٽ لاءِ مختلف مقدار جي ماپ جا طريقا استعمال ڪندي، اسان کي مختلف نتيجا مليا. تنهن ڪري، اهو ضروري آهي ته هن خصوصيت کي اڪائونٽ ۾ وٺو ۽ گهربل موڊ چونڊيو ڳولا دوران مطلوب نتيجو جي لحاظ سان.

ريگيولر ايڪسپريس ۾ ڪردارن کان فرار

جيئن ته جاوا ۾ هڪ باقاعده اظهار، يا وڌيڪ واضح طور تي ان جي ابتدائي نمائندگي، هڪ اسٽرنگ لٽريريل استعمال ڪندي بيان ڪيو ويو آهي، اهو ضروري آهي ته جاوا جي وضاحتن جي ضابطن کي ڌيان ۾ رکڻو پوندو جيڪو اسٽرنگ لٽرلز سان تعلق رکي ٿو. خاص طور تي، \جاوا سورس ڪوڊ ۾ اسٽرنگ لٽريلز ۾ بيڪ سليش ڪردار " " کي هڪ فرار ڪردار جي طور تي تعبير ڪيو ويو آهي جيڪو مرتب ڪندڙ کي خبردار ڪري ٿو ته اهو ڪردار جيڪو ان جي پيروي ڪري ٿو اهو هڪ خاص ڪردار آهي ۽ هڪ خاص طريقي سان تعبير ڪيو وڃي. مثال طور:
String s = "The root directory is \nWindows";//wrap Windows to a new line
String s = "The root directory is \u00A7Windows";//insert paragraph character before Windows
تنهن ڪري، اسٽرنگ لٽريلز ۾ جيڪي باقاعده اظهار کي بيان ڪن ٿا ۽ استعمال ڪن ٿا " \" اکر (مثال طور، ميٽا اچار لاءِ)، ان کي ٻيڻو ڪرڻ گهرجي ته جيئن Java bytecode ڪمپائلر ان جي مختلف تشريح نه ڪري. مثال طور:
String regex = "\\s"; // template for searching for space characters
String regex = "\"Windows\""; // pattern to search for the string "Windows"
ڊبل بيڪ سليش اکر پڻ استعمال ڪيو وڃي خاص اکرن کان بچڻ لاءِ جيڪڏهن اسان انهن کي ”باقاعده“ اکرن طور استعمال ڪرڻ جو ارادو رکون ٿا. مثال طور:
String regex = "How\\?"; // template for searching the string "How?"

نموني جي درجي جا طريقا

ڪلاس Patternوٽ ٻيا طريقا آهن باقاعده اظهار سان ڪم ڪرڻ لاءِ: String pattern()- ريگيولر ايڪسپريس جي اصل اسٽرنگ جي نمائندگي ڪري ٿو جنهن مان اعتراض ٺاهيو ويو آهي Pattern:
Pattern pattern = Pattern.compile("abc");
System.out.println(Pattern.pattern())//"abc"
static boolean matches(String regex, CharSequence input)- توهان کي ريجڪس پيراميٽر ۾ منظور ٿيل باقاعده اظهار کي جانچڻ جي اجازت ڏئي ٿي پيٽرول ۾ پاس ڪيل متن جي خلاف input. واپسي: صحيح - جيڪڏهن متن نموني سان ملندو آهي؛ غلط - ٻي صورت ۾؛ مثال:
System.out.println(Pattern.matches("A.+a","Alla"));//true
System.out.println(Pattern.matches("A.+a","Egor Alla Alexander"));//false
int flags()- flagsٽيمپليٽ پيراميٽر جي قيمتن کي واپس ڏئي ٿو جيڪي مقرر ڪيا ويا آھن جڏھن اھو ٺاھيو ويو، يا 0 جيڪڏھن ھي پيٽرول سيٽ نه ڪيو ويو ھو. مثال:
Pattern pattern = Pattern.compile("abc");
System.out.println(pattern.flags());// 0
Pattern pattern = Pattern.compile("abc",Pattern.CASE_INSENSITIVE);
System.out.println(pattern.flags());// 2
String[] split(CharSequence text, int limit)- پيراميٽر جي طور تي منظور ٿيل متن کي عناصر جي صف ۾ ورهائي ٿو String. پيٽرولر limitمقرر ڪري ٿو وڌ ۾ وڌ ميچن جو تعداد جيڪو ڳولهيو ويو متن ۾:
  • جڏهن limit>0- limit-1ميچ جي ڳولا ڪئي وئي آهي؛
  • تي limit<0- متن ۾ سڀني ميچن لاءِ ڳولهي ٿو
  • جڏهن limit=0- متن ۾ سڀني ميچن جي ڳولا ڪريو، جڏهن ته صف جي آخر ۾ خالي لائينون رد ڪيون ويون آهن؛
مثال:
public static void main(String[] args) {
    String text = "Egor Alla Anna";
    Pattern pattern = Pattern.compile("\\s");
    String[] strings = pattern.split(text,2);
    for (String s : strings) {
        System.out.println(s);
    }
    System.out.println("---------");
    String[] strings1 = pattern.split(text);
    for (String s : strings1) {
        System.out.println(s);
    }
}
ڪنسول آئوٽ پُٽ: ايگور آلا انا -------- ايگور آلا انا اسان هيٺ ڏنل آبجیکٹ ٺاهڻ لاءِ هڪ ٻئي ڪلاس ميٿڊ تي غور ڪنداسين Matcher.

ملندڙ ڪلاس جا طريقا

Matcherھڪڙو طبقو آھي جنھن مان ھڪڙو اعتراض نمونن جي ڳولا لاء ٺاھيو ويو آھي. Matcher- هي هڪ "سرچ انجڻ" آهي، هڪ "انجڻ" باقاعده اظهار جو. ڳولڻ لاء، هن کي ٻه شيون ڏيڻ گهرجن: هڪ ڳولا جو نمونو ۽ هڪ "پتا" ڳولڻ لاء. هڪ اعتراض ٺاهڻ لاء، Matcherهيٺ ڏنل طريقو ڪلاس ۾ مهيا ڪيو ويو آهي Pattern: рublic Matcher matcher(CharSequence input) هڪ دليل جي طور تي، طريقو ڪردارن جو هڪ سلسلو وٺندو آهي جنهن ۾ ڳولا ڪئي ويندي. اهي طبقن جون شيون آهن جيڪي انٽرفيس کي لاڳو ڪن ٿيون CharSequence. Stringتوهان نه رڳو پاس ڪري سگهو ٿا ، پر پڻ ، ۽ StringBufferهڪ StringBuilderدليل جي طور تي . ڳولا ٽيمپليٽ ڪلاس اعتراض آهي جنهن تي طريقو سڏيو ويندو آهي . هڪ ميچر ٺاهڻ جو مثال: SegmentCharBufferPatternmatcher
Pattern p = Pattern.compile("a*b");// compiled the regular expression into a view
Matcher m = p.matcher("aaaaab");//created a search engine in the text “aaaaab” using the pattern "a*b"
ھاڻي، اسان جي "سرچ انجڻ" جي مدد سان، اسان ميچز جي ڳولا ڪري سگھون ٿا، متن ۾ ميچ جي پوزيشن کي ڳولي سگھون ٿا، ۽ ڪلاس طريقن کي استعمال ڪندي متن کي تبديل ڪري سگھون ٿا. طريقو boolean find()ڳولهي ٿو ايندڙ ميچ کي متن ۾ نموني سان. هن طريقي ۽ لوپ آپريٽر کي استعمال ڪندي، توهان واقعي جي ماڊل جي مطابق پوري متن جو تجزيو ڪري سگهو ٿا (ضروري عمل ڪريو جڏهن ڪو واقعو ٿئي - متن ۾ هڪ ميچ ڳولڻ). مثال طور، هن طبقي جي طريقن کي استعمال ڪندي، int start()توهان int end()متن ۾ ميچ جي پوزيشن جو تعين ڪري سگهو ٿا، ۽ طريقن کي استعمال ڪندي String replaceFirst(String replacement)، String replaceAll(String replacement)متن ۾ ميچ کي ٻئي متبادل متن سان تبديل ڪريو. مثال:
public static void main(String[] args) {
    String text = "Egor Alla Anna";
    Pattern pattern = Pattern.compile("A.+?a");

    Matcher matcher = pattern.matcher(text);
    while (matcher.find()) {
        int start=matcher.start();
        int end=matcher.end();
        System.out.println("Match found" + text.substring(start,end) + " с "+ start + " By " + (end-1) + "position");
    }
    System.out.println(matcher.replaceFirst("Ira"));
    System.out.println(matcher.replaceAll("Olga"));
    System.out.println(text);
}
پروگرام جو نتيجو: هڪ ميچ مليو آلا کي 5 کان 8 پوزيشن تائين هڪ ميچ مليو انا 10 کان 13 پوزيشن تائين ايگور ايرا انا ايگور اولگا اولگا ايگور آلا انا مثال مان اهو واضح ٿئي ٿو ته طريقا هڪ نئون اعتراض replaceFirstٺاهي ٿو - هڪ اسٽرنگ، جيڪو اهو ذريعو متن آهي جنهن ۾ ٽيمپليٽ سان ملندڙ متن کي دليل طور طريقي سان منتقل ڪيو ويو آهي. ان کان علاوه، طريقو صرف پهرين ميچ کي تبديل ڪري ٿو، ۽ ٽيسٽ ۾ سڀني ميچز. اصل متن باقي رهي ٿو. ٻين طبقن جي طريقن جو استعمال ، گڏوگڏ باقاعده اظهار جا مثال، مضمونن جي هن سلسلي ۾ ڳولهي سگهجن ٿا . سڀ کان وڌيڪ عام آپريشن باقاعده اظهار سان گڏ جڏهن متن سان ڪم ڪري رهيا آهن طبقن مان آهن ۽ ٺاهيل آهن . اهي طريقا آهن جهڙوڪ , , , . پر حقيقت ۾، "هوڊ هيٺ" اهي استعمال ڪندا آهن ۽ . تنهن ڪري، جيڪڏهن توهان کي متن کي تبديل ڪرڻ جي ضرورت آهي يا غير ضروري ڪوڊ لکڻ جي بغير ڪنهن پروگرام ۾ تارن جو موازنہ ڪريو، طريقا استعمال ڪريو . جيڪڏهن توهان کي ترقي يافته صلاحيتن جي ضرورت آهي، ڪلاس بابت سوچيو ۽ . replaceAllStringreplaceFirstreplaceAllMatcherPatternMatcherStringsplitmatchesreplaceFirstreplaceAllPatternMatcherStringPatternMatcher

نتيجو

هڪ باقاعده اظهار بيان ڪيو ويو آهي جاوا پروگرام ۾ اسٽرنگ استعمال ڪندي جيڪي قاعدن پاران بيان ڪيل نموني سان ملن ٿا. جڏهن ڪوڊ هلندو آهي، جاوا هن اسٽرنگ کي ڪلاس اعتراض ۾ ٻيهر گڏ ڪري ٿو ۽ متن ۾ ميچ ڳولڻ لاء Patternطبقاتي اعتراض استعمال ڪري ٿو . Matcherجيئن مون شروع ۾ چيو، باقاعده اظهار گهڻو ڪري بعد ۾ رکيا ويندا آهن، هڪ ڏکيو موضوع سمجهيو ويندو آهي. تنهن هوندي، جيڪڏهن توهان نحو جي بنيادي ڳالهين، ميٽاڪرڪٽرز، فرار ٿيڻ، ۽ باقاعده اظهار جي مثالن جي مطالعي کي سمجھندا آهيو، اهي ٻاهر نڪرندا آهن انهن کان وڌيڪ آسان آهن جيڪي اهي پهرين نظر ۾ نظر اچن ٿا.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION