2

以下の表現の違いを誰かが説明できますか?

[0-9]{1,3}:[0-5][0-9]

^([0-9]{1,3}:[0-5][0-9])$

正規表現での ^ 記号と $ 記号の正確な使用方法がわかりません。

2 番目の式を次のように記述しても、違いはありませんでした。

^([0-9]{1,3}):([0-5][0-9])$

4

3 に答える 3

3

例はそれを明確に説明しています:

^     : matches the beginning of a line
$     : matches the end of a line

"^foo$" : matches "foo", but not " foo" or "xxfooyy"
"foo$"  : matches "foo",  " foo" or "xxfoo" but not "foobar"
"^foo"  : matches "foo",  "fooyy" or "foo " but not "xfoo"
"foo"   : matches "foo",  " foo" or "xxfooyy"
于 2013-03-22T17:48:32.393 に答える
2

^= 文字列/行の開始 = 文字列/行 $の終了

したがって、最初の式も「FOO123:12BAR」と一致します

キャプチャ グループの括弧が異なるため、2 番目と 3 番目の式の違いは、一致するものではなく、キャプチャするものにあります。

于 2013-03-22T17:46:02.647 に答える