2013-07-30 13 views
5

Używam generatora danych VS 2010 do generowania ciągów testowych w oparciu o wyrażenie regularne.C# dopasowanie wyrażenie do HHMMSS

W tej chwili mam trudności z użyciem odpowiedniego wzorca do generowania ciągów czasowych HHMMSS.

tej pory mam to, ale to nie jest całkowicie prawdziwe: ([01]?[0-9]|2[0-3])[0-5][0-9][0-5][0-9]

Na przykład jeden pożądany zestaw będzie jak: 212013

+1

Tekst swoje pytanie sprawia, że ​​jest jasne - będzie ciąg wyjściowy mają ograniczniki okrężnicy lub nie? –

+0

ah, zostawiłem dwukropki z testów. Dla jasności nie powinno być żadnych ograniczników. Tak jak pokazuje przykład. – Lee

+0

Co masz na myśli mówiąc "nie całkiem dokładne"? Co robi źle? –

Odpowiedz

8

Poniższy powinny spełniać wymagania format:

([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9] 

Sekcja ([01][0-9]|2[0-3]) obejmuje 00 do 23, natomiast [0-5][0-9] obejmuje 00 do 59.

W swoim oryginale ? dokonał początkowego zera lub jednego opcjonalnego, a tym samym potencjalnie generując nieprawidłowe liczby pięciocyfrowe.

4

Jeśli nie dbać o regexes, jak o tym:

var r = new Random(); 
DateTime.FromOADate(r.NextDouble()).ToString("HHmmss") 
+4

OP używa generatora kodu. Zakładam, że jego dane wejściowe są wyrażeniem regularnym, a nie linią kodu. –

Powiązane problemy