JavaScript中的正则替换

String.replace(regexp, replaceText); 这是String类中的replace方法原型

 

replace方法接受两个参数:

regexp: 正则表达式, 用来在字符串中搜索的规则.

replaceText: 用来替换字符串中匹配正则表达式的子串的字符串

 

在JavaScript中, 支持正则替换, 正则替换的规则如下:

$$: 原意打印一个$符号

$&: 与规则匹配的整个子串

$`(大键盘1旁边的键): 整个字符串中, 与规则匹配的子串之前的部分

$'(单引号): 整个字符串中, 与规则匹配的子串之后的部分

$n: $1, $2等从1-9的数值, 代表正则匹配得到的第n个子组的匹配子串

$nn: 第01-99个子组的匹配子串.

 

 

以字符串"abcdefg"使用正则表达式/(?:(bc)(de)(f))/进行正则替换为例(?:)表示是非捕获子组, 属于正则表达式范畴, 这里不做讨论

则有:

$&代表bcdef

$`代表a

$'代表g

$1代表bc

$2代表de

$3代表f

 

下面是一个比较完整的例子, 在例子中为了方便操作, 使用了jQuery, 可以到jQuery官方网站下载

http://jquery.com/

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Javascript练习-2-正则表达式</title> <mce:script type="text/javascript" src="scripts/jquery-1.3.2.js" mce_src="scripts/jquery-1.3.2.js"></mce:script> <mce:script type="text/javascript"><!-- $(function() { var body = $('body'); function append(msg) { return body.append($('<div>').text(msg)); } function appendHtml(msg) { return body.append($('<div>').html(msg)); } function appendHr() { return body.append($('<hr>')); } var re = /(https?):////(/w+(?:/./w+){2,})///?((/w+)=(/w+))/; appendHtml("[prefix]http://www.google.com/?user=selfimpr[suffix].replace(re4, " + "" + "/"{" + "url: '$&', " + "prefix: '$`', " + "suffix: '$'', " + "protocal: '$1', " + "server: '$2', " + "queryString: '$3', " + "argName: '$4', " + "argValue: '$5'" + "}/")"); appendHtml('<font color="red">' + "[prefix]http://www.google.com/?user=selfimpr[suffix]".replace(re4, "<br />" + "{<br />" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "url: /"$&/", <br />" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "prefix: /"$`/", <br />" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "suffix: /"$'/", <br />" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "protocal: /"$1/", <br />" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "server: /"$2/", <br />" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "queryString: /"$3/", <br />" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "argName: /"$4/", <br />" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "argValue: /"$5/"<br />" + "}" + "<br />") + "</font>"); }); // --></mce:script> </head> <body> </body> </html>

你可能感兴趣的:(JavaScript,html,jquery,正则表达式,function,server)