В чем разница между следующим шаблоном в xsd? - PullRequest
2 голосов
/ 22 декабря 2010

Шаблоны,

    1. <xsd:pattern value = "[0-9][0-9]*"/> 

и

    2. <xsd:pattern value = "[0-9]*"/>

это дает тот же результат. Так в чем же разница между ними? Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 22 декабря 2010

Первый из них будет соответствовать 1 или более цифрам.Второй будет соответствовать 0 или более цифрам.

Символ * означает, что предыдущая вещь может повторяться 0 или более раз для сопоставляемого шаблона.

Итак, [0-9][0-9]* означает «соответствует 1 цифре, за которой следуют 0 или более цифр», тогда как [0-9]* означает «соответствует 0 или более цифрам (что означает, что пустая строка также будет сопоставлена)».

0 голосов
/ 22 декабря 2010

Они вовсе не означают одно и то же, но они оба будут проходить там, где в строке есть цифры.

[0-9] * будет сопоставлять строки без каких-либо цифр вообще, даже пустые строки, в то время как [0-9] [0-9] * требуется хотя бы одна цифра.

0 голосов
/ 22 декабря 2010

Первый шаблон говорит, что первые два символа должны быть от 0 до 9, а остальные - что угодно, но второй шаблон говорит, что первый символ должен быть от 0 до 9, а остальные могут быть чем угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...