Как проверить наличие "/" косой черты в XML с помощью регулярного выражения - PullRequest
2 голосов
/ 05 июня 2019

У меня возникли проблемы при проверке строки в XML для конкретной схемы.Все работает нормально, но строка может содержать косую черту "/", которая портит мое регулярное выражение.Выражение работает отлично, за исключением слэша.Я пытался избежать косой черты, но это не работает.Ошибка говорит о том, что шаблон не будет правильным регулярным выражением.

Спасибо за вашу помощь.

<xs:simpleType name="idType">
    <xs:restriction base="xs:string">
        <xs:pattern value="[a-z\+A-Z\/0-9_-]*"/>
    </xs:restriction>
</xs:simpleType>

1 Ответ

3 голосов
/ 05 июня 2019

Вам не нужно перезаписывать шаблон, используйте

<xs:pattern value="[a-zA-Z0-9+/_-]*"/>

Шаблоны регулярных выражений XSD задаются с использованием строк, а не литералов регулярных выражений (как это обычно происходит в JavaScript / Ruby / PHP), без разделителей регулярных выражений,/ не является специальным метасимволом регулярных выражений, и поэтому его не следует экранировать.

На самом деле, + не нужно экранировать ни внутри класса символов, ни через дефис, если их ставить в конце /начало класса персонажа, также не нужно экранировать.

...