أنماط التعبير العادي المعدة مسبقًا أو مكتبات Regex؟[مغلق]

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

  •  08-06-2019
  •  | 
  •  

سؤال

هل يستخدم أي شخص مكتبة regex جيدة يرغب في استخدامها؟تحتوي معظم التعابير العادية التي تجدها عبر الإنترنت إما على أخطاء أو تركز بشدة على الحالات المتطورة بحيث تتحول إلى منافسة للتحقق من صحة أي مواصفات بنسبة 100%.بالطبع يمكنك كتابة ما تريد، ولكن عندما تقوم بالفواتير بالساعة، فمن المفيد أن يكون لديك مكتبة حولك.

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

المحلول

يمكنك البحث عن التعبير العادي في regexlib.

نصائح أخرى

دفعة، لC ++

إلى جانب كونها أفضل أداة Regex في السوق (على محمل الجد)، فإن RegexBuddy هي الأداة الوحيدة التي أعرفها والتي تتيح لك التبديل بين محركات عرض Regex المختلفة.

http://www.regexbuddy.com/

انظر المعلومات هنا:

http://en.wikipedia.org/wiki/RegexBuddy

يسمح محرك التعبير العادي الخاص بـ RegexBuddy للبرنامج بمحاكاة القواعد والقيود الخاصة بالعديد من نكهات التعبير العادي الشائعة.

في الآونة الأخيرة، أقوم بتحليل النص بالكامل باستخدام لغة Perl.إذا كنت بحاجة إلى التعبيرات العادية بلغة أخرى، فسأختارها PCRE.

مكتبة PCRE هي مجموعة من الوظائف التي تنفذ مطابقة نمط التعبير العادي باستخدام نفس بناء الجملة والدلالات مثل Perl 5.يحتوي PCRE على واجهة برمجة التطبيقات الأصلية الخاصة به ، بالإضافة إلى مجموعة من وظائف الغلاف التي تتوافق مع واجهة برمجة تطبيقات التعبير العادية POSIX.مكتبة PCRE مجانية ، حتى لبناء البرامج التجارية.

تمت كتابة PCRE في الأصل لـ إكسيم MTA، ولكن يتم استخدامه الآن من قبل العديد من المشاريع ذات المصدر المفتوحة البارزة ، بما في ذلك أباتشي, بي أتش بي, كيدي, بوستفيكس, التناظرية, ، و نماب.لقد وجد PCRE أيضًا طريقه إلى بعض المنتجات التجارية المعروفة، مثل أبل سفاري.تتضمن بعض المشاريع الأخرى المثيرة للاهتمام باستخدام PCRE فرخة, فريت, الجزع, البريد التشعبي, عقدة ورقة, أسكيموس، و وينلين.

PCRE ناضج ويحظى بدعم العديد من المشاريع.لدى كل من Apache وApple مصلحة خاصة في جعلها عالية الجودة.أشك في أن أي مكتبة RE أخرى من المحتمل أن تتفوق عليها في كل من الوظيفة والجودة (أو ربما كلاهما) في أي وقت قريب.

أحد المصادر الرائعة التي توفر التعبيرات العادية المطلوبة بشكل شائع هو Perl التعبير العادي::مشترك.

يوفر حاليًا أنماطًا لما يلي (من الصفحة الرئيسية):

Regexp::Common::balanced
Provides regexes for strings with balanced parenthesized delimiters.

Regexp::Common::comment
Provides regexes for comments of various languages (43 languages currently).

Regexp::Common::delimited
Provides regexes for delimited strings.

Regexp::Common::lingua
Provides regexes for palindromes.

Regexp::Common::list
Provides regexes for lists.

Regexp::Common::net
Provides regexes for IPv4 addresses and MAC addresses.

Regexp::Common::number
Provides regexes for numbers (integers and reals).

Regexp::Common::profanity
Provides regexes for profanity.

Regexp::Common::whitespace
Provides regexes for leading and trailing whitespace.

Regexp::Common::zip
Provides regexes for zip codes.

يسلط محرر النصوص الإلكتروني الضوء على ما تبحث عنه أثناء كتابته.يعد هذا مفيدًا بشكل لا يصدق، حيث يمكنك لصق "نموذج النص" الخاص بك في ملف، وما عليك سوى كتابة التعبير العادي الخاص بك في حقل البحث، ورؤية ما يطابقه أمامك مباشرةً.

لا تعد أي من أشياء "منشئ التعبير العادي المرئي" هذه بدائل لتعلم التعبيرات العادية فعليًا.

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