سؤال

هل من الممكن القيام بالنفي السلسلة في التعبيرات العادية؟ أحتاج إلى مطابقة جميع السلاسل التي لا تحتوي على السلسلة "..". وبعد أعلم أنه يمكنك استخدام ^[^\.]*$ لتتناسب مع جميع السلاسل التي لا تحتوي على "." لكنني بحاجة لمطابقة أكثر من حرف واحد. وأنا أعلم أنني يمكن أن تطابق مجرد سلسلة تحتوي ".." ثم ينفي قيمة العودة للمباراة لتحقيق نفس النتيجة لكني تساءلت فقط إذا كان ذلك ممكنا.

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

المحلول

يمكنك استخدام Lookaheads السلبية:

^(?!.*\.\.).*$

يؤدي ذلك إلى عدم تطابق التعبير إذا كان يمكن العثور على سلسلة من فترتين في أي مكان في السلسلة.

نصائح أخرى

^(?:(?!\.\.).)*$

سوف تتطابق فقط إذا لم يكن هناك نقطتين متتاليتين في أي مكان في السلسلة.

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