黑马程序员技术交流社区

标题: 请教一个问题 [打印本页]

作者: yuchunfeng1221    时间: 2013-9-21 01:43
标题: 请教一个问题
本帖最后由 杨增坤 于 2013-9-22 21:43 编辑

$和$1,$2,$3,有什么区别吗

作者: 坚持。    时间: 2013-9-21 06:26
你是问的正则表达式是吗? $ 表示第一组   $ 表示第二组     /^(/d)+(/w)$/,$,$1
作者: 简单ai...    时间: 2013-9-21 18:04
稍微查了一些知道的不多,希望下文对你有所帮助
这是window脚本帮助中的

在replace 方法中使用 $1 来引用所保存的第一个子匹配。如果有多个子匹配,则可以用 $2, $3 等继续引用。

向后引用的另一个用途是将一个通用资源指示符 (URI) 分解为组件部分。假定希望将下述的URI 分解为协议 (ftp, http, etc),域名地址以及页面/路径:

http://msdn.microsoft.com:80/scripting/default.htm
下面的正则表达式可以提供这个功能。对 JScript,为:

/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
对 VBScript 为:

"(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)"
第一个附加子表达式是用来捕获该 web 地址的协议部分。该子表达式匹配位于一个冒号和两个正斜杠之前的任何单词。第二个附加子表达式捕获该地址的域名地址。该子表达式匹配不包括 '^'、 '/' 或 ':' 字符的任何字符序列。第三个附加子表达式捕获网站端口号码,如果指定了该端口号。该子表达式匹配后跟一个冒号的零或多个数字。最后,第四个附加子表达式捕获由该 web 地址指定的路径以及\或者页面信息。该子表达式匹配一个和多个除'#' 或空格之外的字符。

将该正则表达式应用于上面所示的 URI 后,子匹配包含下述内容:

RegExp.$1 包含 "http"
RegExp.$2 包含 "msdn.microsoft.com"
RegExp.$3 包含 ":80"
RegExp.$4 包含 "/scripting/default.htm"




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2