我正在写一个IP类型的XSD。 我的正则表达式为0.0.0.0 - 255.255.255.255但到目前为止我没有成功排除0.0.0.0
我试过了?!0.0.0.0,但XSD不支持?!
答案 0 :(得分:2)
作为当前正则表达式的一部分,您有一个子表达式(可能重复四次),接受范围0到255.我将此称为&re0;
。制作一个类似的正则表达式,接受1到255;我将此引用为&re1;
。
构建一个正则表达式作为选择:
&re-1;\.&re-0;\.&re-0;\.&re-0;
(如果第一个值非零,那么它不是0.0.0.0)0\.&re-1;\.&re-0;\.&re-0;
(即使第一个值为零,第二个值为非零也会将整个表达式保存为0.0.0.0)0\.0\.&re-1;\.&re-0;
(同上两个前导零......)0\.0\.0\.&re-1;
(如果您有三个前导零,则最终值必须为非零)