בודק תבניות Regex של XSD
תבנית XSD
תבנית מומרת
^[A-Z]{2}[0-9]{3}$מחרוזת בדיקה
תוצאה
AB123מדריך תחביר Regex של 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 |
תווים עם Escape
| \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. |
פרטים טכניים
איך פועל בודק תבניות Regex של XSD
מה הכלי עושה
בודק תבניות ה-regex של XSD מאפשר לך לבדוק תבניות regex של XML Schema Definition (XSD) מול טקסט לדוגמה. תבניות regex של XSD שונות מ-regex של JavaScript בכמה אופנים חשובים: כברירת מחדל הן מתאימות למחרוזת כולה (עוגנים מרומזים ^ ו-$), אינן תומכות באסרטציות lookahead/lookbehind, ויש להן כללי תחביר ייחודיים לאימות XML. כלי זה ממיר תבניות XSD ל-regex תואם JavaScript לצורך בדיקה, תוך הסבר על ההבדלים. הוא שימושי למפתחים שעובדים עם סכימות XML, אימות XSD ועיבוד נתוני XML, וצריכים לבדוק אילוצי תבנית שמוגדרים בקובצי XSD.
מקרי שימוש נפוצים למפתחים
מפתחים משתמשים בבודקי תבניות XSD כאשר הם עובדים עם הגדרות XML Schema שכוללות אילוצי regex. תבניות XSD משמשות בדרך כלל לאימות תוכן של רכיבי XML, כגון כתובות אימייל, תאריכים, מזהים או פורמטים מותאמים אישית. בעת הגדרת סכימות XSD, מפתחים צריכים לבדוק את אילוצי התבנית שלהם כדי לוודא שהם מאמתים נכון קלט צפוי ובו בזמן דוחים נתונים לא תקינים. הכלי מסייע לוודא שתבניות כמו [A-Z][0-9] אכן מתאימות לפורמטים כמו "AB123" אך דוחות "ab123" או "ABC123". בודקי תבניות XSD חיוניים לפיתוח סכימות XML, לאימות נתונים ולהבטחת תאימות לתקני XML.
הבדלים מרכזיים לעומת Regex של JavaScript
לתבניות regex של XSD יש כמה הבדלים חשובים לעומת regex של JavaScript. ראשית, תבניות XSD מתאימות למחרוזת כולה כברירת מחדל, כך שאין צורך להוסיף עוגנים ^and $anchors. התבנית [A-Z] מתאימה אוטומטית רק למחרוזות שהן בדיוק שתי אותיות גדולות. שנית, XSD אינו תומך באסרטציות lookahead ( (?=...)) או lookbehind ( (?<=...)). שלישית, XSD תומך בקטגוריות יוניקוד כמו \p{L} עבור אותיות ו-\p{N} עבור מספרים, שדורשות את דגל ה-Unicode ב-JavaScript. ל-XSD יש גם רצפים מיוחדים כמו \i ו-\c עבור תווי שם של XML שאינם זמינים ב-regex של JavaScript.
דוגמאות לתבניות XSD
תבניות XSD נפוצות כוללות פורמטים של תאריך כמו \d{4}-\d{2}-\d{2} עבור תאריכים בפורמט YYYY-MM-DD, תבניות מזהה כמו [A-Z][0-9] עבור שתי אותיות ואחריהן שלוש ספרות, ותבניות יוניקוד כמו \p{L}+ עבור אות יוניקוד אחת או יותר. הכלי מציג כיצד תבניות אלו מומרות ל-regex של JavaScript והאם מחרוזות בדיקה מתאימות לתבנית כולה (התאמה מלאה) או רק באופן חלקי (התאמה חלקית). מכיוון שתבניות XSD חייבות להתאים למחרוזת כולה, התאמות חלקיות מצביעות על כך שהתבנית אינה מאמתת את הקלט במלואו.
שיטות מומלצות
בעת בדיקת תבניות XSD, זכור שהן מאמתות מחרוזות שלמות ולא תת-מחרוזות. תבנית כמו \d+ תתאים רק למחרוזות שמורכבות כולן מספרות, ולא למחרוזות שמכילות ספרות. השתמש במחלקות תווים ובכמתים בצורה נכונה: [A-Za-z]+ מתאים לאות אחת או יותר, בעוד [A-Za-z]* מתאים לאפס אותיות או יותר. לאימות XML, בדוק גם קלטים תקינים וגם לא תקינים כדי לוודא שהתבניות שלך מקבלות נכון נתונים צפויים ובו בזמן דוחות קלט פגום. הכלי מציג את תבנית ה-regex של JavaScript לאחר ההמרה כדי שתוכל לראות כיצד תבניות XSD מתורגמות לצורכי בדיקה.