由于种种限制原因,我无法真正深入我的项目。XSD:Pattern和C#Regex之间有区别吗?
本质上,我试图在序列化它之前预先验证对象,然后根据模式对其进行验证。这个模式验证了一个名字,我知道这不是一个理想的名字,你最好不要验证一个名字 - 但我似乎无法复制一个有效的正则表达式来表示模式正在尝试做什么。
<xsd:simpleType name="CharsetD">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Za-z \-']*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element minOccurs="0" maxOccurs="2" name="Fore">
<xsd:simpleType>
<xsd:restriction base="CharsetD">
<xsd:minLength value="1"/>
<xsd:maxLength value="35"/>
<xsd:pattern value="[A-Za-z].*"/>
</xsd:restriction>
<xsd:simpleType>
</xsd:element>
我只是在想,我可以尝试,只是使用xsd:pattern
为charset
上述情况。
我尝试使用[A-Za-z \-']*
,它返回了一个名称,如Luke2
,但是架构验证表示它不是因为它包含一个数字。
我的问题是,我怎么能复制上述在一个单一的c#
正则表达式?另外,模式模式如何运作,与我在未来可以注意到的.NET
中是否有区别?