java基础之正则表达式的构建

根据jdk8的官方文档

  1. .表示除了换行符以外的任何一个字符

  2. [0-9]相当于\d表示一位数字 \D表示非数字

  3. [a-zA-Z]表示a-z以及A-Z的任何一个英文字母

  4. \w 相当于[a-zA-Z_0-9] \W 就是不是这些字符之一

  5. \w+加号的意思表示一个及一个以上,所以这里就表示一个\w或者一个以上的\w

  6. \w* *表示0或多个\w

  7. 指定范围\w{n,m} n到m(包括n和m)

  8. XY表示X紧跟着Y

  9. X|Y 表示X|Y

examples:
1.匹配所有java文件
.+\.java(任何字符+.java后缀)
[a-zA-Z_]\w*\.java(字母和下划线打头,再加上0或多个字符以及.java后缀)
2.匹配中文
[\u4e00-\u9fa5]只是常用汉字
3.匹配ip地址(建议还是通过字符串分割来做split("\."))

Pattern temp=Pattern.compile("^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$");
		String ip="192.168.1.1";
		System.out.println(temp.matcher(ip).matches());;
posted @ 2016-05-20 10:51  xilovesyu  阅读(94)  评论(0)    收藏  举报