2013-01-23 74 views
0

我有一個字符串,它看起來像這樣...XML驗證與正則表達式

1-Jan-1970 01:00:00 

這可以用一個空格開始(因爲這一個呢),或一個數字,如果數據是兩位數。

我已經在XSD文件中構造了一個正則表達式來創建一個簡單的時間戳類型,如下所示:

<xs:simpleType name="Timestamp"> 
    <xs:restriction base="xs:token"> 
     <xs:pattern value="([1-9]|[1-3][0-9])-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-[1-2][0-9][0-9][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9]"/> 
    </xs:restriction> 
</xs:simpleType> 

如果我拿這個表達式,並給出了樣本串,以及測試在http://www.regextester.com/它的工作原理。

但是,如果我嘗試驗證一些XML它,它適用於有拖位的所有日期,但不與空間的一個(如上圖所示)

誰能給我一個轉向就這一個請?

+0

是否可以使用日期轉換函數? – nhahtdh

+0

我想你可以根據dateTime數據類型進行驗證。 – nhahtdh

回答

1

token數據類型從其詞彙空間中排除具有前導和尾隨空格的字符串。

將xs:string(或一些字符串派生類型,它沒有將空白麪設置爲collapse),而不是xs:token作爲基本類型。

+0

謝謝,錯誤是在我的XSD中,而不是我的正則表達式。不用說,我不太熟練XML <但是到達那裏。謝謝 – Nerdio