2012-02-17 34 views

回答

7

匹配以http://https://后跟任意数量的任何字符(.*)的开始,紧接着又/斜线。

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

+1

除此之外,在''是贪婪地完成,所以''go to mypage将导致用'http://mysite.com。 /mypage.php“> go to mypage <'in match [1]。我不是说这个正则表达式有这种缺陷,你只需要在使用时注意它。 – Matthew 2012-02-17 22:11:20

1

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

该比赛本身将正好是搜索,减去最后一个/。

4
  • ^串的开始
  • (捕获组
    • http字符 “HTTP”
    • s?零或字符中的一个的 “s”
    • \:冒号字符的开始(逃脱,虽然没有必要)
    • \/\/个两个正向斜杠字符(转义,以便它不关闭正则表达式字面)
    • .*零更多个任意字符,除了换行符捕获组的
  • )
  • \/斜杠chararacter (逃脱,使其不会关闭正则表达式字面)

起始和结尾/字符仅表示正则表达式文字符号。

1

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

^在字符串

(开始启动捕获

http匹配 “HTTP” 的字面

s?匹配一个可选的 “S”

\:符合字面结肠

\/匹配文字斜线

\/匹配文字斜线

.*然后尽可能多的字符可能

)结束捕获

\/在字面斜线结束

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

1

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

https://www.aaa.bb/ 
http://www.aaa.bb/ 
http://some.server/ 
http://aa/ 
http:/// 
https:/// 
http://////////// 
https://////////// 
相关问题