2011-01-20 8 views
3

JavaのSimpleDateFormatパターンの良い正規表現は何ですか?Regex for Java SimpleDateFormatパターン(出産に固有の可能性があります)

ストーリー:私はDateTimeFormatValue、例外(フィードバックフォームQAのみ)で日食誕生日のフォーマットパターンを設定することに問題があります。 それで、その文書のeclipse birtは、アプリケーションのパターンがユーザーの入力によって事前定義されているため、SimpleDateFormatをサポートしていると言います。正しいシンボルのみをチェックするための正規表現チェックが必要です。 ("^[y|M|m|h|G|z|s|d|(at)|(aaa)|E|\\.|\\:|\\'|\\/|\\,|\\ ]*$"

ありがとうございました!

+0

バックスラッシュをエスケープする必要はありませんか? –

+0

それは 'や/や、 –

+0

のような特別なシンボルの仕様です。医者が正しいと思います。 Pattern javadocでは、Javaソースコードの文字列リテラル内のバックスラッシュは、Java言語仕様でUnicodeエスケープまたはその他の文字エスケープのいずれかとして解釈されるため、バックスラッシュをエスケープする必要があります。**したがって、バックスラッシュJavaバイトコードコンパイラによる解釈からそれらを保護する正規表現を表す文字列リテラルで** _ – mazaneicha

答えて

1

可能であれば、私はこれを単一のRegexで解決しません。ユーザーの入力を分割する必要があります。例えば:YYYY.mm.DD[YYYY],[.],[mm],[.],[DD]に分割します。 あなたの目的に合っていれば、各グループをチェックすることができます。 あなたの生年月日を話すときに、またはその日などを許可しません。

これは、「年定義がありません」または「時間が許可されていません。 。

関連する問題