url匹配和match()方法

时间:2021-02-15 20:29:49

下面的全局匹配可以找到字符串中的所有数字:

"1 plus 2 equals 3".match(/\d+/g)  // 返回 ["1", "2", "3"] 

下面的非全局匹配使用了更加复杂的正则表达式,它具有几个用括号括起来的子表达式。与该表达式匹配的是一个URL,与它的子表达式匹配的是那个URL的协议部分、主机部分和路径部分:

var url = /(\w+):\/\/([\w.]+)\/(\S*)/;

var text = "Visit my home page at http://www.isp.com/~david";

var result = text.match(url);

if (result != null) {

    var fullurl = result[0];   // 包含"http://www.isp.com/~david"

    var protocol = result[1];  // 包含"http"

    var host = result[2];      // 包含"www.isp.com"

    var path = result[3];      // 包含"~david"

}