java - examples - regular expression شرح



جافا التعبير العادي OR المشغل (1)

يمكنك فقط استخدام الأنبوب من تلقاء نفسه:

"string1|string2"

فمثلا:

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string1|string2", "blah"));

انتاج:

blah, blah, string3

السبب الرئيسي لاستخدام الأقواس هو الحد من نطاق البدائل:

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string(1|2)", "blah"));

لديه نفس الإخراج. لكن إذا فعلت هذا:

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string1|2", "blah"));

لقد حصلت:

blah, stringblah, string3

لأنك قلت "string1" أو "2".

إذا كنت لا تريد التقاط هذا الجزء من استخدام التعبير ?: ::

String s = "string1, string2, string3";
System.out.println(s.replaceAll("string(?:1|2)", "blah"));

قد يكون هذا سؤالًا غبيًا ، لكنني لم أجده في أي مكان:

كيف يمكنني استخدام مشغّل java OR العادي (|) بدون الأقواس؟

على سبيل المثال: هاتف | هاتف | فاكس





regex