xsd中的以下模式有什么区别?

时间:2010-12-22 14:01:37

标签: xsd design-patterns

模式是,

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

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

它产生相同的结果。那么他们之间有什么区别?提前谢谢。

3 个答案:

答案 0 :(得分:3)

第一个将匹配1位或更多位数。第二个将匹配0位或更多位数。

*字符表示前一个事物可以重复0次或更多次以匹配模式。

因此,[0-9][0-9]*表示“匹配1位,后跟0或更多位”,而[0-9]*表示“匹配0位或更多位(这意味着空字符串也将匹配) ”

答案 1 :(得分:0)

第一个模式说,前两个字符必须是0到9中的一个,其余的都是,但第二个模式说第一个字符必须是0到9,其余的可以是任何字符。

答案 2 :(得分:0)

它们并不意味着相同的东西,但它们都会在字符串中有数字的地方传递。

[0-9] *将匹配没有任何数字的字符串,即使是空字符串,而[0-9] [0-9] *至少需要一位数字。