首页 > 代码库 > 正则表达式

正则表达式

正则表达式: 是用来检索字符串内容的匹配规则:

正则表达式: pass
检索字符串: passwd is password file
在 (0, 4] 匹配成功
在 (10, 14] 匹配成功 .

应用广泛.
学习建议: 1 要能够读懂"正则表达式"
2 能够写出简单的"正则表达式"
3 不要过多的分配学习时间!
可以应用于: java grep vi

1 字符集: [1234] 表示 1,2,3,4 之一
  [^12] 表示除了 1,2
  [1-5] 表示 1,2,3,4,5
  [a-f] 表示 a-f 之间的
  [0-9a-fA-F] 表示:一个16进制字符

  0[xX][0-9a-fA-F]{1,8}
  [\w]{8,15}
  预定义字符集:
  \d : [0-9]
  . : 任意字符
  \w: 单词字符 [0-9a-zA-Z_]
  \s: 匹配空白: 空格 \t \n \r \b \p

  \D
  \S
  \W

2 {m,n} 数词
  {n}
  {m,n}
  ? : {0,1}
  + : {1,}
  * : {0,}

3  ^ 开头
  $ 结尾


邮政编码: ^[0-9][0-9][0-9][0-9][0-9][0-9]$
^[0-9]{6}$
^\d{6}$

用户名规则: ^\w{8,10}$

电话号: +86 13912345678

^(\+86|0086)?\s?\d{11}$

身份证号码: ^\d{15}(\d{2}[0-9xX])?$

一个点的坐标: ^\d+(,\s*|\s+)\d+$
^\d+[,\s]\s*\d+$

答案规则:^\s*A?(\s+|,\s*)B?(\s+|,\s*)C?(\s+|,\s*)D?\s*$

日期: 2011-01-30
^\d{4}-\d{2}-\d{2}$
^\d{4}(-\d{2}){2}$

IP 地址: 192.168.0.2
^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
^\d{1,3}(\.\d{1,3}){3}$
^(\d{1,3}\.){3}\d{1,3}$

String 对正则表达式的支持
.matches() 匹配正则表达式
.split("[,\s\|]") 切分字符串为字符串数组
.replaceAll()

另,还有Pattern等类的支持

正则表达式