黑马程序员技术交流社区

标题: 请教一个有关于正则表达式使用的的小问题 [打印本页]

作者: 李然    时间: 2013-12-7 15:51
标题: 请教一个有关于正则表达式使用的的小问题
想问一下各位大神,如果在js中使用正则表达式会不会存在java中的加反斜杠转义的问题,用不用和java中一样写两个反斜杠
作者: 吴琼cola    时间: 2013-12-8 10:06
在java中'/'反斜杠在程序中是特殊符号,所以必须在加一个反斜杠进行转义。斜杠(/)在JAVA中没有什么特别的意义,就是代表一个字符‘/’;
反斜杠(\)则不然,它和紧跟着它的那个字符构成转义字符,如“\n”(表示换行)、“\””(表示字符‘”’)等,所以在字符串中要表示字符'\'要用“\\”来表示,例:如果你这样定义一个字符串String s = “name\sex”是错误的,要这样定义String s = “name\\sex”;

引用
注意:在正则表达式中的“\\”表示和后面紧跟着的那个字符构成一个转义字符(姑且先这样命名),代表着特殊的意义;所以如果你要在正则表达式中表示一个反斜杠\,应当写成“\\\\”。如果你这样获得一个Matcher,Matcher m = Pattern.compile(“\\”).matcher(“\\”)将会报错,你应当这样写Matcher m = Pattern.compile(“\\\\”).matcher(“\\”)才是正确且匹配的。
在js 中反斜杠不是什么特殊符号,可以直接使用。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2