java、JS正则表达式

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("#","-");

猜你喜欢

转载自ztao2333.iteye.com/blog/2261360