1.匹配中文字符串
[\u4e00-\u9fa5]
2.匹配非ascii码
[^\\x00-\\x7f]
如果有特殊要求需要ascii码的特殊范围,只需替换范围中的十六进制即可
3.空白符,如空格、换行等
[\\s]
4.匹配IP步骤:
(1)首先排除以.为结尾情况为非法IP
(2)调用String类的split("\\.")方法拆分字符串,排除长度不为4的情况为非法IP
(3)用如下方法判断字符串的每一段是否符合如下正则表达式
"\\d|[1-9][0-9]|1[0-9][0-9]|2(([0-4][0-9])|(5[0-5]))"
5.匹配\
[\\\\]
6.中文字母下划线(n到m位仅包含数字字母下划线的字符串)
方法1:
\\w{n,m}
[a-zA-Z_0-9]{n,m}
补充一个奇葩的问题:在java中,方法1,方法2测试都是正常的。
在android中,对方法1测试大部分时候不能过滤中文汉字,但是在测试中有那么一两次是可以判断出字符串中的中文汉字的。
暂时还不知道什么原因,因此在android中慎用方法1。