java \\d= js \d
java中\需要转义,即\\其实是\
java:
regex包
Pattern类
Pattern p = Pattern.compile(语法);
Matcher类
Matcher m = p.matcher(字符串);
if(m.find()){
m.group(0);
}
JS使用new RegExp表示正则表达式
JS中正则表达式test(),exec(),match()方法区别
1:test
test返回Boolean,查找对应的字符串中是否存在模式
var str = "1a1b1c";
var reg = new RegExp("1.","");
alert(reg.test(str));//true
2:exec
exec查找并返回当前的匹配结果,并以数组的形式返回
var = "1a1b1c";
var reg = new RegExp("1.","");
var arr = reg.exec(str);
如果不存在模式,则arr为null,否则arr总是一个长度为1的数组,其值就是当前匹配项。
arr还有三个属性:index当前匹配项的位置,lastIndex当前匹配项结束的位置(index+当前匹配项的长度)
input如上示例中input就是str。
exec方法受参数g的影响。若指定了g,则下次调用exec时,会从上个匹配的lastIndex开始查找。
var str = "1a1b1c";
var reg = new RegExp("1.","");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
都是输出1a
指定参数g
var str = "1a1b1c";
var reg = new RegExp("1.","g");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
第一个输出1a,第二个输出1b
3:match
match是String对象的一个方法
var str = "1a1b1c";
var reg = new RegExp("1.","");
alert(str.match(reg));
match这个方法有点像exec,但exec是RegExp对象的方法,match是String对象的方法。
参数g 如果指定了参数g
var str = "1a1b1c";
var reg = new RegExp("1.","g");
alert(str.match(reg));
此结果是一个数组,有三个元素,1a,1b,1c。
replaceall
String cid = "ww##ww";
cid = cid.replaceAll("#","-");