正则表达式【java笔记】

来源:互联网 发布:淘宝虚拟物品怎么发布 编辑:程序博客网 时间:2024/05/22 05:07
  1. 用途:
    1. 字符串匹配(字符匹配)
    2. 字符串查找
    3. 字符串替换 
  2. 例如:
    1. IP地址是否正确
    2.  从网页中揪出Email地址
    3. 从网页揪出链接的
    4. 计算代码中注释,空行,代码的数量
  3. 类:
    1. java.lang.String
    2. java.util.regex.Pattern
    3. java.util.regex.Matcher
  4. Pattern类-模式
  5. Matcher类-编译
  6. string.matches.(regex)  常用格式
  7. '.'任何字符
  8. '*' 零次或多次
  9. '+' 一次或多次
  10. '?'  一次货一次也没有
  11. [^abc0-9]:'[]'匹配一个字符(范围),'^'取反
  12.  '{}'匹配字符个数
  13. [a-z]|[A-Z] == [a-z[A-Z]] == [a-zA-Z]取并集
  14.  [A-Z]&&[RFG]取交集
  15. \d数字字符,\D数字字符取反
  16. \s所有空白字符,\S除了空白字符的字符
  17. \w构成单词的字符,\W 构成单词的字符取反
  18.  '^'中括号外代表一行开头,'$'代表一行的结尾,\b代表一个单词的边界
  19. 匹配空白行: "line".matches("^[\\s&&[^\\n]]*$"));
  20. m.matches()匹配整个字符串
  21. m.find()匹配一段字符
  22. m.reset();把匹配进去的还原出来
  23. m.lookingAt();每次从头开始找
  24. m.start()匹配组起始点 - m.end()匹配组结束点 
  25. m.replaceAll()m.replaceAll()
  26. m.appendReplacement()    m.appendTail()
  27. m.gropu()  //分组编号从左往右数左括号
  28. 贪婪Greedy  不情愿的Reluctant(?)   独占的Possessive(+)
  29. (?)非捕获组 non-capturing groups
  30. back refenrences : \组号
  31. flags的简写:忽略大小写(?i)等
0 0
原创粉丝点击