التعابير المنطقية - تطابق سلسلة فقط عندما يحتوي على أية أحرف أبجدية

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

  •  03-07-2019
  •  | 
  •  

سؤال

والمثال سلاسل

785*()&!~`a

##$%$~2343

455frt&*&*

وأريد أن القبض على الأول والثالث ولكن ليس الثانية منذ هو لا يحتوي على أي حرف الأبجدية بلز مساعدة

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

المحلول

في الواقع، أعتقد [a-zA-Z] قد يكون كافيا لمطابقة سلاسل الخاص بك.

لالتقاط كل شيء، في محاولة: ^.*[a-zA-Z].*$

نصائح أخرى

وهنا هو واحد طريقة ممكنة:

.*[a-zA-Z]+

وربما يجب عليك توضيح قليلا ما تعنيه ب "catpuring ': هل تريد السلسلة بأكملها من مجرد بت أسكي

وأيضا، لا أقول إذا كان يجب أن تطابق الأبجدية مجرد الرومانية (A إلى Z) أو إذا كان ينبغي أيضا أن تطابق حرف Unicode إلى تطابق السلاسل في لغات أخرى.

إذا كنت بحاجة فقط لاختبار سلسلة الخاص بك، في C # كنت ستفعل:

bool matching = Regex.IsMatch(myString, "[a-zA-Z]");

وأنت لا تحتاج إلى أي شيء آخر، لأن حرف واحد فقط في أي مكان في سلسلة myString ستكون مباراة (وفقا لتعريف الخاص بك).

وهذا هو المفضل لدي باستخدام التعابير المنطقية موقع الاختبار: اختبار التعبير العادي جافا سكريبت والغش ورقة

إذا كنت تريد لتتناسب مع جميع الحروف (بما في ذلك تلك غير أسكي)، استخدم p{L} بدلا من [a-zA-Z]. انظر فئات يونيكود .

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