Я не знаю, насколько это выполнимо, но я работаю над типом данных для XSD, и одна из вещей, которые я пытаюсь сделать, - это расширить его, чтобы включить дефис в фамилии. Так что это должно соответствовать Smith
Fry
и Safran-Foer
. Кроме того, я хотел бы ограничить длину проверяемой строки не более чем 100 (или 101) символами. Мой Regex первоначально был:
<xsd:pattern value="[a-zA-Z ]{0,100}"/>
Теперь я знаю, что могу сделать что-нибудь, где я разбью это и произвольно разрешу 50 символов с каждой стороны, как:
<xsd:pattern value="[a-zA-Z ]{0,50}(\-)?[a-zA-Z ]{0,50}"/>
Но это кажется неблагодарным. Есть ли способ сделать что-то вроде:
<xsd:pattern value="[a-zA-Z (\-)?]{0,100}"/>
Еще один способ спросить о том, что я ищу, это «Сопоставить строку символов длиной от 0 до 100, содержащую не более 1 дефиса».
Спасибо!