2012-10-19 40 views
0

我已經atext文件,其中包含這樣的很多紀錄:C#正則表達式驗證字符串

05/11/04+11:10PM+117+04+0218735793+0'00+00:01'51+TR+

05/11/04+11:10PM+117+04+0218735793+0'00+00:01'51+TR+

(無來電)

我想驗證這些行和無效的所有其他行(空行或註釋行和損壞的行)

  • 爲此正則表達式可以嗎?
  • 如果是,那麼正則表達式是什麼?

謝謝。

+0

莫斯戴夫。我們不知道各個字段和分隔符是固定寬度還是可變寬度,但是,是的...這是正則表達式驗證的好候選者。 – spender

+1

http://stackoverflow.com/questions/1991264/regex-query-builder – andy

回答

3

我不會嘗試使用它的所有正則表達式。例如,你有一個看起來像日期和時間的東西,還有一些其他字段可能是某種類型的時間,這對於正則表達式來說很棘手。

我與

+1

當解析失敗時,DateTime.ParseExact會拋出,如果這很可能發生(即錯誤的記錄是預期的),那麼最好使用DateTime。 TryParseExact'。 – Richard

+0

啊,我錯過了這個方法。乾杯。 – Rawling

0
^\d\d\/\d\d\/\d\d\+\d\d:\d\d[AP]M\+[\d+':]+\+TR\+$ 
            ^^^^^^^^ 

我「騙」中所標示的部分,因爲我不知道到底發生了保持相同,但是從表達式的其餘部分我想你應該明白我的意思。

0
var regexPattern = @"^\d{2}/\d{2}/\d{2}\+\d{2}:\d{2}(?:AM|PM)\+\d{3}\+\d{2}" + 
        @"\+\d{10}\+\d'\d{2}\+\d{2}:\d{2}'\d{2}\+TR\+$" 
相關問題