有人会解释这个javascript REGEX模式吗?

时间:2012-02-17 22:00:33

标签: javascript regex

src.match(/^(https?\:\/\/.*)\//)

我知道正则表达式,但语法对我来说并不熟悉。有人可以向我解释一下它的匹配吗?

5 个答案:

答案 0 :(得分:7)

匹配以http:// https://开头的任何内容,后跟任意数量的任何字符(.*),后跟另一个/斜杠

需要转义/斜杠。我不知道为什么冒号也逃脱了。

答案 1 :(得分:4)

  • ^字符串开头
  • (启动捕获组
    • http字符“http”
    • s?零或一个字符“s”
    • \:冒号角色(转义,但不是必需的)
    • \/\/两个正斜杠字符(已转义,因此不会关闭正则表达式字面值)
    • .*零个字符,除了换行符之外的其他字符
  • )捕获组的结尾
  • \/正斜杠字符(转义为不会关闭正则表达式字面值)

起始和结束/个字符仅表示正则表达式文字表示法。

答案 2 :(得分:1)

以“http”/“https”开头的字符串,后跟://,后跟任意数量的字符(贪婪),然后是尾随的/.

匹配本身将完全是搜索的内容,减去最后的/.

答案 3 :(得分:1)

这是一个非常普通的正则表达式:

^在字符串的开头

(开始捕获

http按字面意思匹配“http”

s?匹配可选的“s”

\:匹配文字冒号

\/匹配文字斜杠

\/匹配文字斜杠

.*然后尽可能多的角色

)结束捕获

\/以字面斜线结尾

正则表达式具有从URL捕获协议,主机和路径并在最后排除任何文件的效果。例如,在https://www.host.com/path/to/my/file.cgi的情况下,将捕获https://www.host.com/path/to/my

答案 4 :(得分:1)

这些是正则表达式匹配的一些例子:

https://www.aaa.bb/
http://www.aaa.bb/
http://some.server/
http://aa/
http:///
https:///
http:////////////
https:////////////