كيف يمكنك استخدام Notepad++ regex الأنابيب | سلاسل أطول من حرف واحد ؟

StackOverflow https://stackoverflow.com/questions/820740

  •  03-07-2019
  •  | 
  •  

سؤال

أنا أحاول الحصول على notepad++ إلى regex البحث عن كافة مثيلات "اي بي سي" و "صفر" في الجملة التالية:

حروف من ذهب إلى مواطنه.

أي من التالية جمل يبدو للعمل:

  • abc|صفر
  • [abc|def]
  • (abc)|(مواطنه)
  • (abc|def)

ملاحظة:"[|د]" مباريات أي مثيل من "أ" أو "د" عندما اختبرت

هل كانت مفيدة؟

المحلول

الترقية إلى Notepad++ v6.من التغيير:"PCRE (بيرل متوافق التعبيرات العادية) معتمد." لقد تم التحقق من هذا | يعمل في regex البحث عند استخدام Notepad++ v6.

نصائح أخرى

لا شيء خاص حول "أطول من حرف واحد" ، Notepad++ لا يدعم | حرف في regex.ولا حتى "a|d" يعمل.انظر على regex صفحة المساعدة. الإصدار 6.1.1 Notepad++ الآن يدعم |.

أقترح باستخدام محرر مع سليم regex تنفيذ مثل gvim أو برنامج ultraedit.

داخل إعلان مجموعة الأحرف ([…]) الشخصيات فقط \, ] و - هي أحرف خاصة لها وظائف خاصة تتمثل في الهروب من الحرف التالي، وإغلاق إعلان مجموعة الأحرف ووضع علامة على نطاق الأحرف (فقط إذا لم يتم كتابته في البداية أو النهاية)، على التوالي.يتم تفسير أي شخصية أخرى كحرف عادي.

كذلك هو الخاص بك | في [a|d] مما يعنى [a|d] يصف أي من الشخصيات a, | أو d وليس فقط a أو d يحب a|d يفعل.

كنت أعاني من نفس المشكلة، وهي سبب وصولي إلى هنا.نظرًا لأنه نقص في برنامج notepad++، يمكننا حل المشكلة باستخدام Powershell.في حالتك، ما عليك سوى تشغيل Select-String:

`ss abc,def filename`

إذا كنت تستخدم Unix، فلديك أدوات أخرى مثل grep بالطبع.

أدرك أنك تريد حلاً لبرنامج notepad++، وأنا كذلك، ولكن في بعض الأحيان يتعين عليك القيام بذلك.

على | يجب أن تعمل الآن.
بفضل Regex تحسن في Notepad++

abc|صفر

(abc)|(مواطنه)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top