2017-05-04 10 views
0

How to use REGEX patterns to return day of the week if a date is entered?と似ていますが、私はRegexが「他の巧妙な方法」ではないと答えています。Regexから日付の日付と一致させる

特定の曜日に一致する最も簡単な正規表現は何ですか。たとえば、次のようになります。木曜日は2017-05-04T10:14:07Zのように書式設定された日付文字列から

これは私が出発点として持っているものです。

2017-05-(04|11|18|25)T.*$

あまりにも多くのパイプなしでソリューションを実現するための方法と考えられるすべての年をカバーするか、少なくとも十年はありますか?

+4

一般私はちょうど正規表現だけであなたのタイムスタンプからあなたの曜日を与えることができるとは思わない。正規表現は何かから情報を抽出するのに適していますが、他の知識はありません。 –

+0

私の質問の例に示されているように、少なくとも一定期間は絶対に*可能です*。私はすべての可能な組み合わせをリストすることを避けるためにパターンやトリックがあるかどうか疑問に思っています。 –

+0

*木曜日の日付文字列フォーマットから... *ああ、ありがとうございます。あなたは正規表現について間違って聞いた。 – revo

答えて

0

まず、木曜日は文字列には表示されないため、2017-05-04T10:14:07Zのような形式の日付文字列から木曜日を抽出することはできません。あなたが捕捉できる最高のものは、2桁の日番号(「04」)です。

あなたは日番号(\d+-\d{1,2}-(\d{1,2})T.*?Z)を得ることができますが、正規表現はその日の正しさを検証することはできません。 (例えば、無作為な年の場合は、2月28日が1つのインスタンスをすべて列挙することなく有効であるかどうか教えてください。)したがって、受諾日が有効でない場合(またはソースが常に正しい場合)

関連する問題