java正则和JavaScript中的转义字符
和java类似,javascript中用unicode表示字符是:\u0024.。
点的转义:. ==> u002E
美元符号的转义:$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C
Java代码
String str2="a$b$c";
String strs[]=str2.split("$");
for(String str:strs){
System.out.println(str);
}
并不会打出 a , b ,c需要转义才可如:
Java代码
String str2="a$b$c";
String strs[]=str2.split("\\u0024");
for(String str:strs){
System.out.println(str);
}
如果是两个$$号那就\\u0024\\u0024了
注意 ,不需要转义
正如下面的程序
例如id为111,检查是否在拼接的字符串里101,111,333,333,1111,
<%!
public Boolean patternChecked(String idStr,String gIds){
String pstr="[^0-9]?,?"+idStr+"[^0-9]?,?";//这里[^0-9]后面不加?的话,会认为此处一定要有其他字符。。
Pattern p=Pattern.compile(pstr);
//System.out.println(p.split(""));
Matcher m=p.matcher(gIds);
if(m.find()){
return true;
}
return false;
}
%>
找出数字,这里需要匹配,
下面开始js的匹配
只讲[]中需要转义的字符。。
如果你想写个正则,想匹配所有特殊字符,怎么办》??
我写了个程序,并测试了下,
if(/[!@#$%^&*()\-+{}\[\]\;':",.\/<>?]/.test(name)){
font.innerHTML = "* <br> Invalid Name。";
return false;
}
在[]中,需要转义的字符有[ ] / -,上面中除了这四个其他都不用转义,以为在[]中不会出现异义。。。