- 用途:
- 字符串匹配(字符匹配)
- 字符串查找
- 字符串替换
- 例如:
- IP地址是否正确
- 从网页中揪出Email地址
- 从网页揪出链接的
- 计算代码中注释,空行,代码的数量
- 类:
- java.lang.String
- java.util.regex.Pattern
- java.util.regex.Matcher
- Pattern类-模式
- Matcher类-编译
- string.matches.(regex) 常用格式
- '.'任何字符
- '*' 零次或多次
- '+' 一次或多次
- '?' 一次货一次也没有
- [^abc0-9]:'[]'匹配一个字符(范围),'^'取反
- '{}'匹配字符个数
- [a-z]|[A-Z] == [a-z[A-Z]] == [a-zA-Z]取并集
- [A-Z]&&[RFG]取交集
- \d数字字符,\D数字字符取反
- \s所有空白字符,\S除了空白字符的字符
- \w构成单词的字符,\W 构成单词的字符取反
- '^'中括号外代表一行开头,'$'代表一行的结尾,\b代表一个单词的边界
- 匹配空白行: "line".matches("^[\\s&&[^\\n]]*$"));
- m.matches()匹配整个字符串
- m.find()匹配一段字符
- m.reset();把匹配进去的还原出来
- m.lookingAt();每次从头开始找
- m.start()匹配组起始点 - m.end()匹配组结束点
- m.replaceAll()m.replaceAll()
- m.appendReplacement() m.appendTail()
- m.gropu() //分组编号从左往右数左括号
- 贪婪Greedy 不情愿的Reluctant(?) 独占的Possessive(+)
- (?)非捕获组 non-capturing groups
- back refenrences : \组号
- flags的简写:忽略大小写(?i)等
正则表达式【java笔记】
最新推荐文章于 2024-10-11 17:30:36 发布