(999)999-9999
这个正则表达式怎么写
忘兄弟姐妹们告知主要是那个括号不知道该怎么写!!??'('[0-9]{3}')'[0-9]{3}-[0-9]{4}
上面的对吗?

解决方案 »

  1.   

    Java:
    Pattern p = Pattern.compile("\\(\\d{3}\\)\\d{3}-\\d{4}");js:
    var re = /\(\d{3}\)\d{3}-\d{4}/;
      

  2.   

    正则中转义不是你设想的用'xxx'括起来(那个是java.text.XXXFormat中的转义),而是用backslash(\)由于JS中可以用regex = /正则表达式/开关(全匹配,不区分大小写等);的方式,直接在//写就可以了而java中表述一个backslash需要\\(\本身就是c系列语言的特殊字符转义)。所以,要表示一个括号(而不是正则的group)的话,就是用
    String regex = "\\(";表示一个backslash就要
    String regex = "\\\\";
    其中第1,3个是java中的转义符,分别与他们后面的\组成两个backslash(1+2, 3+4),第一个backslash(1+2)又是正则中的转义符,连同第二个backslash(3+4)组成正则中的一个backslash