3

このJavaScriptの正規表現を理解しようとしています。

この正規表現の部分について誰か説明してもらえますか?

location.href.match(/^http:\/\/(www\.)?example.com/i)
4

4 に答える 4

4

それをビットに分割しましょう:

^http:\/\/= 文字列は で始まる必要がありhttp://ます。バックスラッシュがあるのは、そうでない場合、スラッシュが正規表現パターンを終了するためです。

(www\.)?=www.存在する場合に一致します (それが疑問符の目的です)

example.com= 文字列の後に続く必要がありますexample.com

i= 大文字と小文字を区別しない

したがって、これらは可能な一致です:

  • http://example.com
  • http://www.example.com
  • http://www.EXAMPLE.COM
  • http://www.example.com/some/page/

残念ながら、正規表現は HTTPS プロトコルと一致しません。www.疑問符の使用に適用されるのと同じ方法を使用できます。

/^http(s)?:\/\/(www\.)?example.com/i

于 2012-12-17T10:27:17.653 に答える
2
^           - start of line
http:       - http:
\/\/        - //
(www\.)?    - www. 0 or 1 time
example.com - example.com

iフラグは、式全体が大文字と小文字を区別しないためHTTP://WWW.EXAMPLE.COM、一致することを意味します。

于 2012-12-17T10:27:40.847 に答える
1
/^http:\/\/(www\.)?example.com/i

1) ^ - carret (matches start of line / string)
2) http: - matches the actual 'http:' string
3) \/\/ - matches // (needs escaping with \)
4) (www\.)? - can contain or not the string 'www.' (? = 0 or 1 times)
5) example.com - matches the actual 'example.com' string
6) trailing i - case insensitive
于 2012-12-17T10:28:32.470 に答える
1

正規表現:

/^http:\/\/(www\.)?example.com/i

JavaScriptで説明されているように、正規表現は次の形式です(http://www.w3schools.com/js/js_obj_regexp.asp):

/pattern/modifiers

だからパターン

^http:\/\/(www\.)?example.com

^皮切りに

http:\/\/スラッシュをエスケープした「http://」

(www\.)?0 回または 1 回の「www.」

example.com「例」、改行を除く任意の文字、「com」

「example.com」のみが必要な場合は、example\.com

修飾子 :

i大文字小文字を区別しません

于 2012-12-17T10:31:44.403 に答える