المطابق البحث هو أسلوب من فئة المطابق في لغة البرمجة جافا التي يتم استخدامها للبحث عن تسلسل الأحرف في سلسلة. المطابق البحث يوفر القدرة على تنفيذ عمليات البحث عن النص ومعالجة معقدة باستخدام التعبيرات العادية.
التعبيرات العادية هي أداة قوية للعمل مع النص. أنها تسمح لك للبحث ومطابقة سلاسل فرعية في سلسلة مع أنماط محددة. المطابق البحث يستخدم التعبيرات العادية لتحديد ما إذا كانت سلسلة المصدر تحتوي على تسلسل محدد من الأحرف أو نمط.
المنظر.البحث () بإرجاع قيمة منطقية من صحيح إذا تم العثور على تطابق في السلسلة ، والخطأ خلاف ذلك. كما أنه "يتذكر" موقعه الحالي ، والذي يسمح لك بإجراء استعلامات بحث متتالية باستخدام نفس مثيل المنظر.
يمكن استخدام طريقة البحث المطابق للعثور على جميع التطابقات على التوالي أو لإجراء بحث بإزاحة محددة. إنها واحدة من أدوات معالجة النصوص الرئيسية في جافا وتوفر وظائف مرنة وفعالة للعمل مع التعبيرات العادية.
- التعبيرات العادية في جافا
- فئة المطابق وطريقة البحث ()
- العثور على المباراة الأولى
- البحث عن جميع المباريات
- العثور على تطابق
- استخدام المجموعات في التعبيرات العادية
- نتيجة المباراة وطرق العمل مع المباريات
- سؤال وجواب
- ما هو المنظر تجد في جاوة?
- كيفية استخدام المنظر تجد في جافا?
- هل من الممكن استخدام المنظر البحث للعثور على مباريات متعددة في صف واحد?
- هل من الممكن استخدام التعبيرات العادية عند العمل مع المنظر تجد في جافا?
التعبيرات العادية في جافا
التعبيرات العادية هي أداة قوية ومرنة للعمل مع البيانات النصية. في جافا ، يتم تنفيذ التعبيرات العادية باستخدام فئة النمط. باستخدام التعبيرات العادية ، يمكنك البحث عن أنماط معينة في السلاسل أو استبدالها أو التحقق منها.
تتكون التعبيرات العادية في جافا من أحرف تشير إلى أنماط أو فئات معينة من الأحرف. فيما يلي بعض الرموز الأساسية:
| الرمز | الوصف. |
|---|---|
| يطابق أي حرف باستثناء حرف السطر الجديد. | \ د |
| يتوافق مع أي رقم (0-9). | \ ث |
| يطابق أي حرف أو رقم. | \ ق |
| يطابق أي حرف الفضاء. | [حروف] |
| يتوافق مع أحد الأحرف أ أو ب أو ج. | [^اي بي سي] |
| يطابق أي حرف باستثناء أ, ب, أو ج. | بالإضافة إلى ذلك ، يمكن استخدام أحرف خاصة تسمى المحددات الكمية في التعبيرات العادية ، والتي تحدد عدد مرات تكرار الأحرف. فيما يلي بعض الأمثلة على المحددات الكمية: |
* : يتوافق مع صفر أو أكثر من تكرار الحرف.
- + : يتوافق مع تكرار واحد أو أكثر للشخصية.
- ?: يتوافق مع صفر أو تكرار واحد للحرف.
- {ن}: يتوافق بالضبط ن تكرار الحرف.
- {ن،}: يتوافق مع ن أو أكثر من تكرار الحرف.
- {ن ، م}: يتوافق مع ن إلى م تكرار الحرف.
- يستخدم جافا الطبقة المنظر للعمل مع التعبيرات العادية. انها تسمح لك لإيجاد مباريات بين التعبير العادي وسلسلة معينة. للقيام بذلك ، استخدم طريقة البحث () ، والتي ترجع صحيح إذا تم العثور على تطابق ، أو خطأ إذا لم يتم العثور على تطابق.
مثال الاستخدام:
استيراد جافا.أوتيل.التعبير العادي.*;
مثال عادي للفئة العامة {
العامة ثابت الفراغ الرئيسي (سلسلة[] الحجج) {
نص السلسلة = " مرحبا ، جافا! هذا هو نص عينة.";
نمط السلسلة = "جافا";
نمط التعبير العادي = نمط.ترجمة (نمط);
المنظر المنظر = التعبير العادي.المنظر (نص);
إذا (المنظر.البحث ()) {
النظام.خارج.برينتلن ("تم العثور على المباراة!");
} آخر {
النظام.خارج.برينتلن(" لم يتم العثور على تطابق.");
}
}
}
في هذا المثال ، نجد المباراة الأولى باستخدام التعبير العادي "جافا"في السلسلة" مرحبا ، جافا! هذا هو نص عينة."إذا تم العثور على تطابق ، الرسالة" وجدت المباراة!"يتم عرض ، وإلا فإن الرسالة" لم يتم العثور على تطابق."يتم عرض.
التعبيرات العادية هي أداة قوية للعمل مع البيانات النصية في جافا. إنها تسمح لك بالبحث عن أنماط معينة واستبدالها والتحقق منها في السلاسل. تفتح معرفة التعبيرات العادية الباب أمام معالجة أكثر كفاءة للمعلومات النصية في البرمجة.
فئة المطابق وطريقة البحث ()
فئة المطابق في جافا هو كائن يقوم بتعيين سلسلة إدخال إلى تعبير عادي معين. يتم استخدامه جنبا إلى جنب مع فئة نمط لإجراء بحث واختيار سلاسل فرعية المقابلة لنمط معين.
إحدى الطرق الرئيسية لفئة المطابقة هي طريقة البحث (). يبحث عن تطابق النمط التالي في سلسلة الإدخال ويعيد القيمة الحقيقية إذا تم العثور على مثل هذه المطابقة. يمكن استدعاء طريقة البحث () عدة مرات للبحث بالتتابع عن جميع التطابقات في سلسلة الإدخال.
تحتوي طريقة البحث () على بناء الجملة التالي:
بحث منطقي()
تبدأ طريقة البحث () البحث من الحرف التالي بعد نمط المطابقة الأخير. إذا لم يتم العثور على تطابق ، فإن الطريقة ترجع القيمة المنطقية خطأ. هذا يسمح لك لاستخدام بعض الوقت أو القيام في حين حلقة لاستدعاء مرارا وتكرارا طريقة البحث () واجتياز بالتتابع جميع المباريات في سلسلة الإدخال.
Find البحث():
استيراد جافا.أوتيل.التعبير العادي.*;
مباراة الطبقة العامةمثال {
العامة ثابت الفراغ الرئيسي (سلسلة[] الحجج) {
إدخال السلسلة = " يقفز الثعلب البني السريع فوق الكلب الكسول.";
نمط السلسلة = "الثعلب";
نمط التعبير العادي = نمط.ترجمة (نمط);
المنظر المنظر = التعبير العادي.المنظر (المدخلات);
في حين (المنظر.البحث ()) {
كثافة العمليات بداية = المنظر.بداية();
كثافة العمليات نهاية = المنظر.نهاية();
سلسلة المباراة = المنظر.المجموعة();
النظام.خارج.برينتلن ("وجدت المباراة:" + مباراة);
النظام.خارج.برينتلن ("تبدأ المباراة في الفهرس:" + ابدأ);
النظام.خارج.برينتلن ("تنتهي المباراة عند الفهرس:" + النهاية);
}
}
}
في هذا المثال ، نقوم بإنشاء كائن من فئة المطابقة باستخدام التعبير العادي " الثعلب "وسلسلة الإدخال" يقفز الثعلب البني السريع فوق الكلب الكسول.". ثم نسمي طريقة البحث () في حلقة بينما للبحث عن جميع التطابقات مع التعبير العادي في سلسلة الإدخال.
عند تنفيذ طريقة البحث () ، يمكن الحصول على المطابقة التي تم العثور عليها باستخدام طريقة المجموعة (). ترجع أساليب البداية () والنهاية () فهارس بداية ونهاية المباراة التي تم العثور عليها ، على التوالي.
ستكون نتيجة تنفيذ هذا المثال كما يلي:
وجدت المباراة: فوكس
تبدأ المباراة في الفهرس: 16
تنتهي المباراة في الفهرس: 19
وبالتالي ، تجد طريقة البحث () التطابق الأول مع التعبير العادي "فوكس" في سلسلة الإدخال وتعيد معلومات حول التطابق الذي تم العثور عليه.
طريقة البحث () هي إحدى الطرق الرئيسية لفئة المطابقة وهي أداة مفيدة للبحث عن النص واختياره بناء على قوالب محددة.
العثور على المباراة الأولى
فئة المنظر في جافا لديها طريقة البحث () التي تسمح لك للبحث عن جميع المباريات في سلسلة معينة باستخدام التعبير العادي. ومع ذلك ، إذا كنت بحاجة إلى العثور على المطابقة الأولى فقط ، فيمكنك استخدام طريقة البحث() في الحلقة والتوقف عند العثور على المطابقة الأولى.
ترجع طريقة البحث () صحيح إذا تم العثور على تطابق ، وإلا كاذبة. بالإضافة إلى ذلك ، تقوم هذه الطريقة أيضا بتعديل الحالة الداخلية لمثيل من فئة المطابق من أجل تذكر الإزاحة التي تم العثور فيها على تطابق. يتيح لك ذلك استخدام طرق البداية () والنهاية () للحصول على مواضع البداية والنهاية للمطابقة التي تم العثور عليها في سلسلة المصدر.
يوضح المثال التالي البحث عن المطابقة الأولى باستخدام طريقة البحث ():
استيراد جافا.أوتيل.التعبير العادي.المطابق;
استيراد جافا.أوتيل.التعبير العادي.نمط;
الطبقة العامة الرئيسية {
العامة ثابت الفراغ الرئيسي (سلسلة[] الحجج) {
نص السلسلة = " كيف المنظر العثور على عمل في جاوة?";
String regex = "\\bMatcher\\b";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
int start = matcher.start();
int end = matcher.end();
String match = text.substring(start, end);
System.out.println("Найдено совпадение: " + match);
} else {
System.out.println("Совпадений не найдено");
}
}
}
Данный пример ищет первое совпадение со словом «Matcher» в строке «Как работает Matcher find в Java?». إذا تم العثور على تطابق ، يتم عرض الرسالة "تم العثور على تطابق: المنظر" ، وإلا يتم عرض الرسالة "لم يتم العثور على تطابقات".
البحث عن جميع المباريات
توفر فئة المطابقة في جافا طريقة البحث () ، والتي تستخدم للعثور على جميع التطابقات لنمط معين في سلسلة الإدخال. ترجع هذه الطريقة قيمة منطقية: صحيح إذا تم العثور على تطابق ، وخطأ إذا لم يتم العثور على تطابقات.
تجد طريقة البحث () التطابق الأول وتحرك المؤشر إلى الموضع التالي لسلسلة الإدخال للبحث عن التطابق التالي. وبالتالي ، بعد كل مكالمة إلى طريقة البحث () ، يمكنك استخدام طرق البداية() والنهاية () للحصول على موضع بداية ونهاية المطابقة التي تم العثور عليها.
إذا كنت بحاجة إلى العثور على جميع المباريات ، يمكنك استخدام حلقة في حين مع شرط على أساس طريقة البحث (). Внутри цикла можно выполнить необходимые действия для каждого найденного совпадения.
String input = "The cat sat on the mat.";
String pattern = "cat";
Pattern p = Pattern.compile(pattern);
Matcher matcher = p.matcher(input);
while (matcher.find()) {
int start = matcher.start();
int end = matcher.end();
System.out.println("Найдено совпадение \"" + matcher.group() + "\" от позиции " + start + " до " + end);
}
في المثال أعلاه ، سيتم العثور على تطابق واحد لكلمة "قطة" وسيتم عرض معلومات حول موضعها: من الموضع 4 إلى 7. أيضا ، إذا كنت بحاجة إلى الحصول على المطابقة التي تم العثور عليها نفسها ، فيمكنك استخدام طريقة المجموعة ().
وبالتالي ، يتيح لك استخدام طريقة البحث () العثور على جميع تطابقات نمط معين في سلسلة الإدخال وتنفيذ إجراءات معينة لكل تطابق تم العثور عليه.
العثور على تطابق
المطابق البحث هو وسيلة من فئة المطابق في جافا التي تسمح لك للعثور على المباراة الأولى لنمط في سلسلة معينة.
إحدى الطرق الرئيسية للعثور على المطابق هي طريقة البحث () ، والتي ترجع قيمة منطقية لصحيح إذا تم العثور على سلسلة فرعية واحدة على الأقل مطابقة للنمط في السلسلة ، وخطأ خلاف ذلك.
ومع ذلك ، فإن طريقة البحث() لا تعيد المطابقة التي تم العثور عليها نفسها ، ولكن فقط معلومات حول ما إذا تم العثور عليها أم لا. للحصول على المباراة نفسها ، يمكنك استخدام الطرق التالية:
ابدأ () - إرجاع فهرس بداية المباراة التي تم العثور عليها في سلسلة المصدر;
- نهاية () - إرجاع فهرس نهاية المباراة التي تم العثور عليها في سلسلة المصدر;
- المجموعة—) - إرجاع المباراة التي تم العثور عليها نفسها;
- المجموعة (مجموعة الباحث) - إرجاع المباراة وجدت فقط للمجموعة المحددة. يتم تحديد المجموعات في تعبير عادي باستخدام الأقواس ().
- مثال على استخدام الطرق للحصول على تطابق تم العثور عليه:
نص السلسلة = " الثعلب البني السريع يقفز فوق الكلب الكسول.";
نمط السلسلة = "سريع";
نمط مجمعنمط = نمط.ترجمة (نمط);
المطابق المطابق = مجمعةنمط.المنظر (نص);
إذا (المنظر.البحث ()) {
كثافة العمليات بداية = المنظر.بداية();
كثافة العمليات نهاية = المنظر.نهاية();
سلسلة المجموعة = المنظر.المجموعة();
النظام.خارج.برينتلن ("وجدت المباراة:" + مجموعة);
النظام.خارج.برينتلن ("وجدت من موقف" + بداية + "إلى موقف" + نهاية);
}
في هذا المثال ، نحن نبحث عن أول ظهور لسلسلة فرعية " سريعة "في السلسلة" يقفز الثعلب البني السريع فوق الكلب الكسول.".
ترجع طريقة البحث () صحيح لأنه تم العثور على السلسلة الفرعية. نحصل على موضع بداية المطابقة التي تم العثور عليها باستخدام طريقة البداية () ، وموضع النهاية باستخدام طريقة النهاية () ، والمطابقة التي تم العثور عليها نفسها باستخدام طريقة المجموعة ().
نتيجة لتنفيذ هذا الرمز ، فإنه سيتم إخراج:
تم العثور على تطابق: بسرعة
تم العثور عليها من الموضع 4 إلى الموضع 9
وبالتالي ، باستخدام طرق البحث المطابق ، يمكنك الحصول على معلومات حول أول تطابق تم العثور عليه على التوالي ، وكذلك الحصول على المطابقة التي تم العثور عليها نفسها وموقعها في صف المصدر.
استخدام المجموعات في التعبيرات العادية
التعبيرات العادية في جافا تسمح لك لاستخدام مجموعات للبحث عن النص أكثر مرونة وكفاءة والمعالجة.
تسمح لك المجموعات في التعبيرات العادية بتحديد وحفظ أجزاء من النص تتوافق مع أنماط معينة. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، لاستخراج بيانات معينة من سلسلة ، أو لاستخدامها في عمليات الاستبدال أو الاستبدال اللاحقة.
لإنشاء مجموعة في تعبير عادي ، استخدم الأقواس (). يمكن استخدام تركيبات مختلفة داخل المجموعة ، مثل فئات الأحرف ، والمحددات الكمية ، والتناوب ، وما إلى ذلك.
للوصول إلى البيانات المقابلة للمجموعات ، يتم استخدام فئة المطابقة ، والتي توفر طرقا لاستخراج سلاسل فرعية بناء على المجموعات. Метод group() позволяет получить полное совпадение с определенной группой, а методы start() и end() возвращают начальную и конечную позиции совпадения.
Пример использования групп:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroupExample {
public static void main(String[] args) {
String input = "Hello, my name is John Doe. I am 25 years old.";
Pattern pattern = Pattern.compile("My name is ([A-Za-z]+). I am ([0-9]+) years old.");
المنظر المنظر = نمط.المنظر (المدخلات);
إذا (المنظر.البحث ()) {
اسم السلسلة = المنظر.المجموعة (1);
كثافة العمليات العمر = عدد صحيح.بارسينت (المنظر.المجموعة (2));
النظام.خارج.برينتلن ("الاسم:" + الاسم);
النظام.خارج.برينتلن ("العمر:" + العمر);
}
}
}
Name " اسمي ([أ-ز-ز]+). أنا ([0-9]+) سنة."hello" مرحبا ، اسمي جون دو. عمري 25 سنة.». . ([أ-ز-ز]+)+ ([0-9]+).. تقوم طريقة البحث () بإجراء بحث ، وإذا تم العثور على تطابق ، فإن طرق المجموعة(1) والمجموعة (2) تسمح لنا بالحصول على قيم هذه المجموعات.
ستكون نتيجة تنفيذ البرنامج:
الاسم: جون
العمر: 25
وبالتالي ، فإن استخدام المجموعات في التعبيرات العادية يسمح لك بمعالجة النص بشكل أكثر مرونة وكفاءة ، واستخراج البيانات اللازمة وإجراء عمليات مختلفة معهم.
نتيجة المباراة وطرق العمل مع المباريات
ماتشريسولت هو واجهة التي توفر أساليب للعمل مع نتائج المباراة التي يتم الحصول عليها باستخدام أساليب الطبقة المنظر.
فيما يلي بعض طرق نتيجة المباراة:
واجهة المجموعة ()
- بداية()
- نهاية()
- عدد المجموعات()
- Match نتيجة المباراة:
استيراد جافا.أوتيل.التعبير العادي.المطابق;
استيراد جافا.أوتيل.التعبير العادي.نمط;
نتائج مباراة الصف العامةمثال {
العامة ثابت الفراغ الرئيسي (سلسلة[] الحجج) {
نص السلسلة = " جافا هي لغة برمجة."
+ "يستخدم على نطاق واسع لتطوير تطبيقات الويب.";
نمط نمط = نمط.ترجمة ("\\ث+");
المنظر المنظر = نمط.المنظر (نص);
في حين (المنظر.البحث ()) {
ماتشريسولت ماتشريسولت = المطابق.نتيجة الطماطم();
النظام.خارج.برينتلن ("المباراة:" + نتيجة المباراة.المجموعة());
النظام.خارج.برينتلن ("ابدأ:" + ماتشريسولت.بداية());
النظام.خارج.برينتلن ("النهاية:" + نتيجة المباراة.نهاية ());
}
}
}
Вывод:
مباراة: جافا
البداية: 0
النهاية: 4
مباراة: يكون
البداية: 5
النهاية: 7
المباراة: أ
البداية: 8
النهاية: 9
مباراة: برمجة
البداية: 10
النهاية: 21
مباراة: لغة
البداية: 22
النهاية: 30
المباراة: ذلك
البداية: 36
النهاية: 38
مباراة: يكون
البداية: 39
النهاية: 41
المباراة: على نطاق واسع
البداية: 42
النهاية: 48
مباراة: مستعمل
البداية: 49
النهاية: 53
مباراة: إلى عن على
البداية: 54
النهاية: 57
مباراة: تطوير
البداية: 58
النهاية: 68
مباراة: الويب
البداية: 69
النهاية: 72
مباراة: التطبيقات
البداية: 73
النهاية: 85
في المثال أعلاه ، نجد وإخراج كل مباراة باستخدام أساليب ماتشريسولت. جميع الطرق سهلة الاستخدام للغاية وتوفر معلومات حول التطابقات التي تم العثور عليها وبدايتها ونهايتها.
سؤال وجواب
ما هو المنظر تجد في جاوة?
المنظر تجد في جافا هو الأسلوب الذي يستخدم للعثور على سلسلة من الأحرف في سلسلة معينة. يعود صحيحا إذا كان التسلسل يطابق النمط ، وخطأ خلاف ذلك.
كيفية استخدام المنظر تجد في جافا?
لاستخدام المطابق البحث في جافا ، تحتاج إلى إنشاء كائن من فئة المطابق عن طريق تمرير السلسلة التي سيتم تنفيذ البحث إلى المنشئ. ثم اتصل بطريقة البحث () للعثور على التطابق التالي. إذا تم العثور على تطابق ، فإن الطريقة ترجع صحيح ، وإلا خطأ.
هل من الممكن استخدام المنظر البحث للعثور على مباريات متعددة في صف واحد?
نعم ، يمكنك. المطابق البحث في جافا سوف ننظر للمباراة القادمة في كل مرة يتم استدعاء طريقة البحث (). إذا كانت هناك تطابقات متعددة ، فيمكن استدعاء الطريقة طالما أنها تعود بشكل صحيح.
هل من الممكن استخدام التعبيرات العادية عند العمل مع المنظر تجد في جافا?
نعم ، المنظر تجد في جافا يدعم التعبيرات العادية. التعبيرات العادية يمكن استخدامها للبحث سلسلة أكثر مرونة ومطابقة. على سبيل المثال ، يمكنك استخدام الأحرف الأولية مثل "*" للبحث عن جميع تسلسلات الأحرف المطابقة لنمط معين.
Да, Matcher find в Java поддерживает регулярные выражения. Регулярные выражения могут быть использованы для более гибкого поиска и сопоставления строк. Например, можно использовать метасимволы, такие как «*», для поиска всех последовательностей символов, соответствующих заданному шаблону.