src.match(/^(https?\:\/\/.*)\//)
我知道正则表达式,但语法对我来说并不熟悉。有人可以向我解释一下它的匹配吗?
答案 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:////////////