لقد واجهت مشكلة صغيرة بالأمس وكنت بحاجة إلى معالجة بعض المستخدمين على دفعات وكان تنسيق المستخدمين المرسلين من مكتب الاستقبال كما يلي.
المعلم 10(0010)
المعلم 11(0011)
المعلم 9(009)
المعلم 12(0012)
المعلم 13(0013)
المعلم 14(0014)
كنت أرغب في الأصل في استخدام String.split() وsubstring() في Java للقيام بذلك، ولكن كان من الصعب معالجتها عدة مرات، لذلك استخدمت التعبيرات العادية. على الرغم من أنني نسيت بناء الجملة تقريبًا، إلا أنني أعتقد أنه من الأفضل استخدام التأكيدات (المفتاح هو أن نأمل ألا تحتوي النتائج على أقواس). افتح RegexBuddy وجرّبه، ومن السهل القيام بذلك:
ما يلي هو رمز تنفيذ جافا:
أخيرًا، إليك تأكيدات العرض الصفري المستخدمة:
ادعاء واسع | (؟=الخبرة) | تطابق الموقف قبل إكسب |
---|---|---|
(?<=الخبرة) | تطابق الموقف بعد EXP | |
(؟!الخبرة) | يطابق موضعًا لا يتبعه exp | |
(?<!إكسب) | تطابق الموقف الذي لم يسبقه EXP |