-3

これにアプローチする最も効率的な方法に少し困惑しています。

テキストの大きな文字列があり、その中のどこかに string があります"Wednesday, April 3, 2013 from 9:00 AM to 6:00 PM"

テキストが常にこの形式になることはわかっていますが、この情報を文字列から抽出する方法が必要です。正規表現が最善の策だと思いますが、この文字列の前後がどうなるかわかりません。月と日の長さが異なるため、文字数を一致させることはできません。また、文字列の長さは任意です。

私の質問は、この文字列で日付と時刻を抽出するために使用できる正規表現はありますか?文字列が1から10000以上の文字の範囲である可能性があることを考えると、これはこれに取り組む効率的な方法でしょうか?

4

3 に答える 3

1

最短の正規表現ではありませんが、例では機能します:

((Mon|Tues|Wednes|Thurs|Fri|Satur|Sun)day, January|February|March|April|May|June|July|August|September|October|November|December) \d+, \d{4} from \d+:\d+ [AP]M to \d+:\d+ [AP]M)
于 2013-04-03T16:38:56.873 に答える
0

おそらく、次のようなことができます。

(Sunday|Monday|...), (January|February|...) [1-9][0-9]?, \d{4}

明らかなリストで完了する必要がある場所...(明確にするために省略)。また、日付と年の構文を厳密にして、4 月 43 日のような日付や 0312 のような年を受け入れないようにすることもできます。 .

于 2013-04-03T16:17:53.377 に答える