由於種種限制原因,我無法真正深入我的項目。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
中是否有區別?