];
var reg = /^\\$/;
for(var i=0;i<data.length;i++)
{
document.write("源字符串:" + data[i] + " 匹配结果:" + reg.test(data[i]) + "<br />");
}
</script>
/*--------输出--------
源字符串:\ 匹配结果:true
源字符串:\\ 匹配结果:false
*/
JavaScript中
var reg = /Expression/igm;
这种声明方式,一样可以简化含有转义符的正则。
当然,以这种形式声明正则时,“/”自然也就成为了元字符,正则中出现这一字符时,必须进行转义处理。比如匹配链接中域名的正则
var reg = /http:\/\/:([^\/]+)/ig;
很不幸的是,在Java中,目前只提供了一种正则声明方式,也就是字符串形式的声明方式
复制代码 代码如下:
String test[] = new String[]{"\\", "\\\\" };
String reg = "^\\\\$";
for(int i=0;i<test.length ;i++)
{
System.out.println("源字符串:" + test[i] + " 匹配结果:" + Pattern.compile(reg).matcher(test[i]).find());
}
/*--------输出--------
源字符串:\ 匹配结果:true
源字符串:\\ 匹配结果:false
*/
只能期待Java的后续版本能提供这方面的优化了。