java正则表达式——总结
2024-09-02 13:06:15
在JDK 1.4中,Java增加了对正则表达式的支持。
java与正则相关的工具主要在java.util.regex包中;此包中主要有两个类:Pattern、Matcher。
Pattern
模式类,正则表达式的编译表示形式。
更多有关Pattern类的内容请看java之Pattern类详解。
Matcher
匹配器类,通过解释 Pattern
对 character sequence
执行匹配操作的引擎。
更多有关Pattern类的内容请看java之Matcher类详解。
正则规则
特殊字符
对于一般字符:
System.out.println(Pattern.matches("a", "a"));// true
可以看出是没有问题的。
但是对于有些字符,比如:
System.out.println(Pattern.matches("{", "{"));
会报错:
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition
Illegal repetition:非法的重复。
因此必须对特殊字符做处理,加\\转义即可。
System.out.println(Pattern.matches("\\{", "{"));// true
对于点号:
System.out.println(Pattern.matches(".", "."));// true
System.out.println(Pattern.matches(".", "a"));// true
点号能匹配任何字符,所以若特定要匹配点号,应对点号转义。如下:
System.out.println(Pattern.matches("\\.", "."));// true
System.out.println(Pattern.matches("\\.", "a"));// false
对于斜杠'\':
一个斜杠时,String s = "\";这种形式在java中是不合法的;
有语法错误:“String literal is not properly closed by a double-quote”。字符串字面值由双引号关闭不正确。因为斜杠将右引号转义了,所以字符串未正确结束。
需要再加一斜杠,String s = "\\";java中的'\'需要用'\\'来表示。
String s = "\\";
System.out.println(s);// \
匹配斜杠:
System.out.println(Pattern.matches("\\", "\\"));
报错:
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
所以需要转义:
Matcher m = Pattern.compile("\\\\").matcher("\\");
while (m.find()) {
System.out.println(m.group());
}
打印:
\
需要做转义处理的字符有:
{ | } | ( | ) | [ | ] | $ | * | + | | | . | ? | \\ | ^ |
最新文章
- DataTable ajax分页+删除+查询+修改
- svm训练显示信息说明
- C++ Primer 学习笔记_46_STL实践与分析(20)--容器特有的算法
- Interesting Punch-Bowl(优先队列)
- XML 序列化与PULL解析
- HTML友情链接代码
- 201521123091 《Java程序设计》第6周学习总结
- 201521123114《Java程序设计》第9周学习总结
- C#设计模式之七适配器模式(Adapter)【结构型】
- 程序员的视角:java GC
- java 各数据类型之间的转换
- windows 7 命令修改IP地址
- 【webpack】-- 入门与解析
- ES5-ES6-ES7_let关键字声明变量
- 双倍浮向(双倍边距)(只有IE6出现)
- {python--GIL锁}一 介绍 二 GIL介绍 三 GIL与Lock 四 GIL与多线程 五 多线程性能测试
- UGUI的text赋值问题-速度
- Java中classpath配置
- Android Studio和SDK下载、安装和环境变量配置
- Java反射学习一