/*正则赏析*/
var rep = /<!--[\s\S]*?-->/gi;
var v = "ABC<!-- <span></span> --><!-- <div>ABC</div>-->";
log(v.replace(rep,""));//返回ABC
var reg = /@|#/;
log("123@456#789".split(reg));//返回数组[123,456,789]
/*
\s:用于匹配单个空格符,包括tab键和换行符;
\S:用于匹配除单个空格符之外的所有字符;
*/
var str = '<Services id="abc" a=34><result>1143</result></Srvices>';
var rep = /<[^>]+>/g;
/**
* js正则表达式解释
* 目的:有一段xml格式代码,前端要去掉所有xml节点,只保留最终的文字。
* 拆开来看:/ < [ ^>] +> /g
* 表达式解释:
* /.../ js中,两个/和之间的内容就构成一个简单的正则表达式
* /.../g g表示全文查找,其他可选项:i=忽略大小写、m=多行查找(可以重叠使用譬如:/.../gi)
* /[...]/ js中,使用[]表示一组值,譬如:
[a-z]:包括a到z,譬如b
[a-zA-Z]:包括a到z和A到Z,譬如:B
[a-z][A-Z]::包括先是a到z,接着是A到Z,譬如:bB
* /.../+ +号表示匹配的次数至少一次,其他匹配选项:?=最多一次、*=若干次
* /[^>]/ 如果^在[]中,表示不包含后边的元素,即不包含">"符号
*
* 那么,整个表达式的语义就是:
* 以<开头,以>结尾,且中间字符串不包括>,匹配至少一次,进行全文查找
*/
alert(str.replace(rep,''));//1143