XSD Regex ንድፍ ሞካሪ
XSD ፓተርን
የተቀየረ ፓተርን
^[A-Z]{2}[0-9]{3}$የሙከራ ጽሑፍ
ውጤት
AB123የXSD ሬጅክስ ሰንታክስ ማጣቀሻ
የቁምፊ ክፍሎች
| . | Any character |
| [abc] | Match a, b, or c |
| [^abc] | Match anything except a, b, c |
| [a-z] | Character range (a to z) |
| \d | Digit (0-9) |
| \D | Non-digit |
| \s | Whitespace |
| \S | Non-whitespace |
| \p{L} | Unicode letter category(\p{L} (with 'u' flag)) |
| \p{N} | Unicode number category(\p{N} (with 'u' flag)) |
| \i | XML initial name character (XSD only, supported by xspattern) |
| \c | XML name character (XSD only, supported by xspattern) |
| [a-z-[aeiou]] | Character class subtraction (XSD only, supported by xspattern) |
መጠን መግለጫዎች
| a* | 0 or more |
| a+ | 1 or more |
| a? | 0 or 1 (optional) |
| a{n} | Exactly n times |
| a{n,} | n or more times |
| a{n,m} | Between n and m times |
| a*? | 0 or more (non-greedy) |
| a+? | 1 or more (non-greedy) |
ቡድኖች
| (abc) | Capturing group |
| (?:abc) | Non-capturing group |
| a|b | Match a or b |
የተሸሸጉ ቁምፊዎች
| \t | Tab |
| \n | Newline |
| \r | Carriage return |
| \xhh | Hex character |
| \uhhhh | Unicode character |
ከJavaScript ዋና ልዩነቶች
| No anchors | XSD patterns match entire string by default (implicit ^ and $). xspattern handles this correctly. |
| No lookahead/lookbehind | XSD does not support (?=...), (?!...), (?<=...), (?<!...) |
| Unicode categories | XSD supports \p{L}, \p{N}, etc. xspattern supports Unicode 15.0. |
| XML name chars | XSD has \i and \c for XML name characters. xspattern supports these. |
| Character class subtraction | XSD supports [a-z-[aeiou]] syntax. xspattern fully supports this feature. |
ቴክኒካዊ ዝርዝሮች
የXSD Regex ንድፍ ሞካሪ እንዴት እንደሚሰራ
መሣሪያው ምን ያደርጋል
የXSD regex ንድፍ ሞካሪው የXML Schema Definition (XSD) regex ንድፎችን ከምሳሌ ጽሑፍ ጋር እንዲሞክሩ ያስችላል። የXSD regex ንድፎች ከJavaScript regex በብዙ አስፈላጊ መንገዶች ይለያያሉ፤ በነባሪ ሁኔታ ሙሉ ሕብረቁምፊውን ይዛመዳሉ (የተደበቁ ^ እና $ መልሕቆች)፣ lookahead/lookbehind ማረጋገጫዎችን አይደግፉም፣ እና ለXML ማረጋገጫ የተለዩ የስነ-አገባብ ህጎች አሏቸው። ይህ መሣሪያ ልዩነቶቹን ሲያብራራ የXSD ንድፎችን ለሙከራ ወደ JavaScript-ተስማሚ regex ይቀይራል። ይህ መሣሪያ ከXML ስኬማዎች፣ XSD ማረጋገጫ፣ እና የXML ውሂብ ሂደት ጋር የሚሰሩ እና በXSD ፋይሎች ውስጥ የተገለጹ የንድፍ ገደቦችን ለመሞከር የሚፈልጉ ገንቢዎች ጠቃሚ ነው።
የተለመዱ የገንቢ አጠቃቀም ሁኔታዎች
ገንቢዎች የXSD ንድፍ ሞካሪዎችን የregex ገደቦችን የሚያካትቱ የXML Schema ትርጓሜዎች ላይ ሲሰሩ ይጠቀማሉ። የXSD ንድፎች ብዙ ጊዜ የXML ንጥል ይዘትን ለማረጋገጥ ይጠቀማሉ፣ ለምሳሌ የኢሜይል አድራሻዎች፣ ቀኖች፣ መለያዎች (IDs) ወይም ብጁ ቅርጸ-ቅርጾች። የXSD ስኬማዎችን ሲያቀናብሩ ገንቢዎች የንድፍ ገደቦቻቸውን በትክክል የሚጠበቀውን ግብዓት እንዲያረጋግጡ እና የማይሰራ ውሂብን እንዲከሉ ለማረጋገጥ መሞከር ያስፈልጋቸዋል። መሣሪያው [A-Z][0-9] ያሉ ንድፎች እንደ "AB123" ያሉ ቅርጾችን በትክክል እንዲዛመዱ ነገር ግን "ab123" ወይም "ABC123" እንዲከሉ መረጋገጥ ይረዳል። የXSD ንድፍ ሞካሪዎች ለXML ስኬማ ልማት፣ ውሂብ ማረጋገጫ፣ እና ከXML መመዘኛዎች ጋር ተስማሚነትን ለማረጋገጥ አስፈላጊ ናቸው።
ከJavaScript Regex ጋር ዋና ልዩነቶች
የXSD regex ንድፎች ከJavaScript regex ጋር ብዙ አስፈላጊ ልዩነቶች አሏቸው። መጀመሪያ፣ የXSD ንድፎች በነባሪ ሁኔታ ሙሉ ሕብረቁምፊውን ይዛመዳሉ፣ ስለዚህ ^ እና $ መልሕቆችን ማከል አያስፈልግም። ንድፉ [A-Z] በራሱ በትክክል ሁለት ትልቅ ፊደሎች ብቻ የሆኑ ሕብረቁምፊዎችን ብቻ ይዛመዳል። ሁለተኛ፣ XSD የlookahead ((?=...)) ወይም የlookbehind ((?<=...)) ማረጋገጫዎችን አይደግፍም። ሶስተኛ፣ XSD እንደ ፊደሎች የሚያመለክቱ \p{L} እና እንደ ቁጥሮች የሚያመለክቱ \p{N} ያሉ የUnicode ምድቦችን ይደግፋል፣ እነዚህም በJavaScript ውስጥ የUnicode ፍላግ ይፈልጋሉ። XSD እንዲሁም በJavaScript regex ውስጥ የማይገኙ ለXML የስም ቁምፊዎች የተለዩ ቅደም ተከተሎች እንደ \i እና \c አሉት።
የXSD ንድፍ ምሳሌዎች
የተለመዱ የXSD ንድፎች የቀን ቅርጾችን እንደ \d{4}-\d{2}-\d{2} ለYYYY-MM-DD ቀኖች፣ የመለያ ንድፎችን እንደ [A-Z][0-9] ለሁለት ፊደሎች በኋላ ሶስት አሃዞች፣ እና የUnicode ንድፎችን እንደ \p{L}+ ለአንድ ወይም ከዚያ በላይ የUnicode ፊደሎች ያካትታሉ። መሣሪያው እነዚህ ንድፎች ወደ JavaScript regex እንዴት እንደሚቀየሩ እና የሙከራ ሕብረቁምፊዎች ከሙሉ ንድፉ ጋር (ሙሉ መዛመድ) ወይም በከፊል (ከፊል መዛመድ) እንደሚዛመዱ ያሳያል። የXSD ንድፎች ሙሉ ሕብረቁምፊውን መዛመድ ስለሚጠይቁ፣ ከፊል መዛመዶች ንድፉ ግብዓቱን ሙሉ በሙሉ እንዳያረጋግጥ ያመለክታሉ።
ምርጥ ልምዶች
የXSD ንድፎችን ሲሞክሩ ንድፎቹ ንዑስ-ሕብረቁምፊዎችን ሳይሆን ሙሉ ሕብረቁምፊዎችን እንደሚያረጋግጡ ያስታውሱ። \d+ ያለ ንድፍ በሙሉ አሃዞች ብቻ የተሞላ ሕብረቁምፊ ብቻ ይዛመዳል፣ አሃዞችን የያዙ ሕብረቁምፊዎችን አይዛመድም። የቁምፊ ክፍሎችን እና መጠን መግለጫዎችን (quantifiers) በትክክል ይጠቀሙ፤ [A-Za-z]+ አንድ ወይም ከዚያ በላይ ፊደሎችን ይዛመዳል፣ ነገር ግን [A-Za-z]* ዜሮ ወይም ከዚያ በላይ ፊደሎችን ይዛመዳል። ለXML ማረጋገጫ፣ ንድፎችዎ የሚጠበቀውን ውሂብ በትክክል እንዲቀበሉ እና የተበላሸ ግብዓትን እንዲከሉ ለማረጋገጥ ሁለቱንም ትክክለኛ እና ስህተት ያለባቸው ግብዓቶችን ይሞክሩ። መሣሪያው የተቀየረውን የJavaScript regex ንድፍ ያሳያል ስለዚህ የXSD ንድፎች ለሙከራ ዓላማ እንዴት እንደሚተረጎሙ ማየት ይችላሉ።