3

私は次のような日付文字列を持っています:

20120817110329

ご覧のとおり、これは次のようにフォーマットされています:YYYYMMDDHHMMSS

7/15から8/20の間の日付を(RegExを使用して)どのように選択しますか?または、8/1から8/15はどうですか?

複数の場所を含まない範囲を選択したい場合、これは機能しますが、非常に制限されています。

^2012081[0-7] //selects 8/10 to 8/17

アップデート

(以下のWiseguyが指摘しているように)明らかなことを決して忘れないでください。単純に、201207150000から201208209999までの範囲を探すことができます。

4

2 に答える 2

3

これらの値を含むデータベースフィールドをクエリしているだけなので、201207150000との間の値を確認するだけで済みます201208209999


それでも正規表現が必要な場合、それはきれいではありませんが、これはそれを行います:

^20120(7(1[5-9]|2\d|3[01])|8([0-1]\d|20))\d{4}$

reFiddleの例

基本的に、可能な範囲ごとに手作業で説明する必要があります。

^20120
(
7
  (
    1[5-9]
   |2\d
   |3[01]
  )
 |
8
  (
    [0-1]\d
   |20
  )
)
\d{4}$
于 2012-08-19T01:28:00.450 に答える
0

私はこれがうまくいくと思います:

^2012(07(1[5-9]|[2-3][0-9])|08([0-1][0-9]|20))

他の答えはほとんど同じですが...あなたはより多くの情報のためにこれをチェックすることができます。

于 2012-08-19T01:37:05.407 に答える