سؤال

أريد استخدام asp.net regularexplessplessatorator لتقييد عدد الكلمات في مربع النص. (RegularexpressionValatorator هو الحل المفضل لأنه سيفعل الشيكات الجانبية للعميل والخادم).

إذن ماذا سيكون Regex الصحيح لوضعه في RegularexpressionValatorator الذي ستحسب الكلمات وفرض حدود كلمة؟ ل، دعونا نقول، 150 كلمة.

(ملحوظة: أرى ذلك هذا السؤال مشابه، ولكن يبدو أن الإجابات المعطاة تعتمد أيضا على التعليمات البرمجية مثل الانقسام () لذلك لا أعتقد أن أي منهم يمكن أن توصيله في regularexpressplessatorator وهذا هو السبب في أنني أسأل مرة أخرى)

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

المحلول

حيث ^ و $ هو تعيين ضمنيا مع regularexpressionatoratorators, ، استخدم ما يلي:

(\S*\s*){0,10}

يسمح 0 هنا بأسلوت فارغة (أكثر تحديدا 0 كلمة) و 150 هو أقصى عدد الكلمات لقبولها. اضبط هذه حسب الضرورة لزيادة / تقليل عدد الكلمات المقبولة.

Regex أعلاه غير جشع، لذلك ستحصل على آيات متطابقة أسرع واحدة معينة في السؤال الذي تشير إليه. (\b.*\b){0,10} هو الجشع، لذلك زادت عدد الكلمات التي سترى انخفاضا في الأداء.

نصائح أخرى

فيما يلي مرجع سريع للتعبيرات العادية:http://msdn.microsoft.com/en-us/library/az24scc.aspx.

يمكنك استخدام هذا الموقع لاختبار التعبيرات:http://regexpal.com/

فيما يلي مثال Regex الخاص بي يعمل مع كلا من عدد الكلمات الدنيا والحد الأقصى (وإصلاح الأخطاء مع التباعد الرائدة):

^\s*(\S+\s+|\S+$){10,150}$

تحقق من هذا الموقع:

http://lawrence.ecorp.net/inet/samples/regexp-validate.php#count.

regex جافا سكريبت، ولكنه يشبه جدا ASP.NET

شيء مثل هذا:

( B [A-Z0-9] + B.) {4،}

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