Regex में उन उदाहरणों को भी जाँचें जिन्हें नहीं मिलना चाहिए

एक मिलान मिलना शुरुआत है, इस बात का प्रमाण नहीं कि पैटर्न आपकी मंशा सही पकड़ता है। अच्छे परीक्षण में लगभग सही दिखने वाला, मगर अस्वीकार्य पाठ भी होता है।

पहले नियम सामान्य भाषा में लिखें

क्या अनुच्छेद के अंदर कोड खोजना है या पूरी पंक्ति जाँचना है? गलत इनपुट में सही-जैसा टुकड़ा मिलना सफल लग सकता है, लेकिन मूल शर्त पूरी नहीं करता।

अक्षर, लंबाई और सीमाएँ बताने वाले छोटे उदाहरण लें। लंबे पाठ में कारण छिप जाता है; पैटर्न वे व्यावसायिक नियम लागू नहीं करता जो लिखे ही नहीं गए।

फ़्लैग और लिपि परिणाम बदलते हैं

g कई मिलान माँगता है, i केस का व्यवहार बदलता है। JavaScript का \w सभी लिपियों के शब्दों की परिभाषा नहीं है; व्यापक अक्षर-मिलान के लिए u के साथ Unicode गुण चाहिए हो सकते हैं।

ToolRoof JavaScript सिंटैक्स और g, i, m, s, u जाँचता है। स्थान UTF-16 इकाइयों में हैं, हमेशा दिखने वाले चिह्नों की संख्या नहीं। दूसरे regex इंजन में वही व्यवहार न मानें।

संदर्भ: MDN — JavaScript regular expressions, flags and Unicode

उदाहरण पास होना सुरक्षा-प्रमाण नहीं है

बिना मिलान वाला केस तथा इच्छित न्यूनतम और अधिकतम सीमा लें। वास्तविक उपयोग में कई पंक्तियाँ हों तो उन्हें भी जाँचें।

प्रसंस्करण सीमित है और अधिकतम 200 मिलान दिखते हैं; सीमा मिलने से शेष मिलान खत्म होने का प्रमाण नहीं मिलता। हर इनपुट पर गति या सुरक्षा की गारंटी नहीं; प्रतिस्थापन-कोड या भेजा गया पाठ भी चलाया नहीं जाता।

उदाहरण: 2 स्वीकार्य कोड और 2 लगभग सही केस

ID-17 ID-204 ID-7 XID-99 में \bID-\d{2,3}\b को g के साथ चलाने पर ID-17 और ID-204 मिलते हैं। ID-7 छोटा है और शब्द-सीमा XID-99 के भीतर से मिलान शुरू नहीं होने देती।

g के बिना केवल पहला मिलान लौटता है। यह नमूना कोड का नियम है; वास्तविक पहचान-कोड, पहुँच-अधिकार या सिस्टम के अन्य नियम प्रमाणित नहीं करता।

संदर्भ