6

ヘッドスクラッチャーに到達したとき、私はいくつかの古いコードを維持しています。私はこの正規表現パターンに混乱しています: /^.*$/(で引数として提供されますtextFieldValidation(this,'true',/^.*$/,'','')。

この正規表現を次のように解釈します。

  • /^=オープンパターン
  • .=任意の値の 1 文字に一致 (EOL を除く)
  • *= 0 回以上一致
  • $= 行末に一致
  • /=パターンを閉じる

だから…このパターンはすべてにマッチすると思います。つまり、関数は処理サイクルを浪費するだけです。私は正しいですか?

4

4 に答える 4

5

1 行のテキストに一致します。

^入力の先頭と$一致し、入力の末尾と一致するため、複数行の文字列との一致に失敗します。間に改行 ( \n) またはキャレットリターン ( \r) 記号がある場合、失敗します。

たとえば、 を'foo'.match(/^.*$/)返しますfoo

しかし、'foo\nfoo'.match(/^.*$/)戻りますnull

于 2013-05-09T19:48:08.297 に答える