Я пытаюсь сопоставить несколько разных вещей из xml-файла с использованием regex в файле xsd.Попытка сопоставить */* regex
Я пытаюсь установить точное совпадение 0 или */* и совпадение 0-9/0-9 0-9 - любые цифры 0 - 9 пример 0/4 должен совпадать, но 0/a должен показывать несоответствие/неверный ввод.
Список возможных записей.
0
0/0
1/4
22/22
*/*
примеров не допускаются записи
1 (no digits other than 0)
1/a
a
Вот регулярное выражение, которое я использую, но у него есть недостаток. Он соответствует 0 отлично, но он все еще принимает 0/a, и он не совпадает с */*.
^.*\b(0|[0-9]\s\/\s[0-9]|\*\s\/\s\*)\b.*$
Это работало идеально и спасибо за ссылку. Я только начал изучать регулярное выражение. Спасибо за отличное объяснение. – deathismyfriend
@deathismyfriend Добро пожаловать :) – Jerry
Регулярные выражения XSD всегда соответствуют всему значению (или вообще не совпадают), поэтому^и $ не используются для привязок в регулярных выражениях XSD, и нет концепции нетерпеливых или жадное соответствие. XSD-формулировка решения будет выглядеть как '(0) | (([0 *] | [1-9] [0-9] *)/([0 *] | [1-9] [0-9 ] *)) '. (Если приведенные выражения действительно работают для OP, тогда OP, возможно, ошибочно полагал, что была задействована схема XSD.) –