正则表达式问题(Javascript)

来源:百度知道 编辑:UC知道 时间:2024/05/03 07:00:15
昨天才开始看这方面的知识,
帮我详细解读一下。
<SCRIPT>
re = /(\w+)\s(\w+)/;str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>
结果是:"Smith, John"

>>re = /(\w+)\s(\w+)/;str = "John Smith";

\w 匹配一个单词;
+匹配一个或多个
\s匹配空格系列的,比如一个空格,一个tab之类的
用括号匹配成功的会按顺序保存在特殊变量$1,$2,……之中

所以,第一个(\w+)匹配John(保存在$1变量中),
\s匹配它后面的空格,
第二个(\w+)匹配Smith(保存在$2变量中)

这样解释,下面的结果就不难理解了吧
>>newstr = str.replace(re, "$2, $1");
第一个参数就是刚才的正则表达式,后面就是结果了
($2是Smith,$1是John)