المرن (محلل معجمي) التعابير العادية - إعادة استخدام التعاريف

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

سؤال

ولدي هذا التعريف العملي:

IDENTIFIER   [a-zA-Z][a-zA-Z0-9]*

وأنا لا أريد أن تبقي تكرار [A-زا-Z] و [0-9]، لذلك جعل تعريفين جديدة

DIGIT    [0-9]
VALID    [a-zA-Z]

وكيف يمكنني كتابة الحكم IDENTIFIER استخدام DIGIT وصالحة التعاريف؟

وأنا لا أعرف كيفية القيام المباراة "الثاني"، أنا عالقة هنا:

IDENTIFIER {VALID}[{VALID}{DIGIT}]* // This syntax is incorrect

وشكرا.

وتحرير: برنامج اختبار كامل بأنني أستخدم: http://pastebin.com/f5b64183f .

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

المحلول

ويبدو أنك فعلا تريد:

وIDENTIFIER {صالحة} ({صالحة} | {DIGIT}) *

[{} {VALID DIGIT}] يحل ل[[A-زا زي] [0-9]] وهي ليست بناء القانوني.

نصائح أخرى

وأعتقد أن هذا سوف نفعل ذلك، ولكن أنا لا يمكن اختبار ذلك. هل لديك بيانات العينة؟

و(؟: [A-زا-Z]) + (؟: [0-9]) +

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