1

私はこのような正規表現パターンを持っています:

^[a-zA-Z0-9]+\s(INV|FINAL)\s([0,1]?\d{1}\s(([0-2]?\d{1})|([3][0,1]{1}))\s(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3})))(\s{1})\d+$

このパターンは、ドキュメント名が正しいかどうかを検証する必要があります。このようなドキュメント名は、次のパターンと一致する必要があります。

1207181 FINAL 12 13 12 1533

最初は-数字だけで、idのようなものです。

次の1つのスペース。

次のINVまたはFINALワード。

ddmmyy形式の次の日付。

次の数桁。

誰かが私がこれを解決するのを手伝ってくれる?

4

1 に答える 1

0

あなたが探しているもの:

^(\d+)\s(INV|FINAL)\s(0[1-9]|[12]\d|3[01])\s(0[1-9]|1[0-2])\s(\d{2})\s(\d+)$

説明:

^                      start at the beginning of the string
(\d+)                  capture any digit
\s                     one whitespace
(INV|FINAL)            captrue INV or FINAL
0[1-9]                 a 0 and a digit from 1 to 9
[12]\d                 a 1 or a 2 and a digit
3[01]                  a 3 and a 0 or a 1
(0[1-9]|[1-2]\d|3[01]) capture a digit from 01 to 31
(0[1-9]|1[0-2])        capture a 0 and a digit from 1 to 9 or a 1 and a digit from 0 to 2 | so capture a digit from 01 to 12
(\d{2})                capture two digits
$                      stop at the end of the string

1207181 FINAL 12 13 12 1533のため、一致しません13

于 2013-01-25T11:31:38.680 に答える