سؤال

أنا على وشك كتابة محلل باللغة التي من المفترض أن يكون لها قواعد نزيهة صارمة حول تسمية الأنواع والمتغيرات وما شابه. على سبيل المثال جميع الفئات يجب كن pascalcase ، وجميع أسماء المتغيرات/المعلمات ومعرفات أخرى يجب كن كاميل.

علي سبيل المثال HTMLParser غير مسموح به ويجب تسميته HtmlParser. أي أفكار ل regexp يمكن أن تتناسب مع شيء هو pascalcase ، ولكن ليس لديها رسالتين في رأس المال؟

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

المحلول

Camelcase:

^[a-z]+(?:[A-Z][a-z]+)*$

Pascalcase:

^[A-Z][a-z]+(?:[A-Z][a-z]+)*$

نصائح أخرى

/([A-Z][a-z]+)*[A-Z][a-z]*/

لكن يجب أن أقول إن خيار التسمية الخاص بك ينتن ، وينبغي السماح بـ htmlparser وفضله.

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

/([A-Z][a-z0-9]+)*[A-Z][a-z0-9]*/

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

حظا طيبا وفقك الله

^[A-Z][a-z]*([A-Z][a-z]*)

هذا يجب أن يعمل من أجل:

  1. يجلعه سهلا
  2. رائع
  3. و أنا

هذه الأنواع من patters.

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