0

match()パターンを探すのに使いたい。一致させたい文字列の例を次に示します: 12/03/2013 11:15

私はいくつかのオンラインツールを使用しましたが、このパターンのツールで動作するようになりました:

sData.match((0[1-9]|[12][\d]|3[0-2])\/(0[1-9]|1[0-2])\/[\d]{4} (0[1-9]|1[\d]|2[0-3]):(0[1-9]|[1-5][\d])$)

ただし、JavaScriptコード内で使用すると、不正な文字のエラーが発生しますが、どの文字が不正なのかわかりません。

これが役立つ場合、これは datatables プラグインのカスタム ソート列用ですが、これは問題の一部ではないと確信しています。

これは、正規表現が機能するオンライン ツールです: http://rubular.com/r/PR4l6T8AQi

4

3 に答える 3

4

正規表現の区切り記号を追加するだけです。

sData.match(/(0[1-9]|[12][\d]|3[0-2])\/(0[1-9]|1[0-2])\/[\d]{4} (0[1-9]|1[\d]|2[0-3]):(0[1-9]|[1-5][\d])$/);
            ^                                                                                            ^

それはうまくいくはずです:)

また、文字クラスの一部を削除することもできます。たとえば、次のよう[\d]に書くことができます\d

sData.match(/(0[1-9]|[12]\d|3[0-2])\/(0[1-9]|1[0-2])\/\d{4} (0[1-9]|1\d|2[0-3]):(0[1-9]|[1-5]\d)$/);
于 2013-09-23T10:32:25.443 に答える
2

リテラル正規表現は / で始まり / で終わる必要があります

于 2013-09-23T10:32:04.913 に答える
0

正規表現は / で始まり / で終わる必要があります

 sData.match(/(0[1-9]|[12][\d]|3[0-2])\/(0[1-9]|1[0-2])\/[\d]{4} (0[1-9]|1[\d]|2[0-3]):(0[1-9]|[1-5][\d])$/)
于 2013-09-23T10:33:09.483 に答える