/*正则赏析*/ 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