java正则表达式——总结
在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());
}
打印:
\
需要做转义处理的字符有:
{ | } | ( | ) | [ | ] | $ | * | + | | | . | ? | \\ | ^ |
java正则表达式——总结的更多相关文章
- java正则表达式
java正则表达式 1.Java正则表达式的语法与示例: http://baike.xsoftlab.net/view/207.html 2.Java 正则表达式: http://www.runo ...
- Java正则表达式入门——转自RUNOOB.COM
Java 正则表达式 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. Java正则表达式和Perl的是最为相似 ...
- Java 正则表达式详解
Java 提供了功能强大的正则表达式API,在java.util.regex 包下.本教程介绍如何使用正则表达式API. 正则表达式 一个正则表达式是一个用于文本搜索的文本模式.换句话说,在文本中搜索 ...
- 【转】详解Java正则表达式语法
(转自: http://www.jb51.net/article/76354.htm) 这篇文章主要介绍了Java正则表达式语法,包括常用正则表达式.匹配验证-验证Email是否正确以及字符串中查询字 ...
- java正则表达式【大全】
[正则表达式]文本框输入内容控制整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$& ...
- JAVA正则表达式:Pattern类与Matcher类详解(转)
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表 ...
- JAVA正则表达式:Pattern类与Matcher类详解
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表 ...
- Java 正则表达式[转载]
PS:转载自CSDN博客看上去很美 众所周知,在程序开发中,难免会遇到需要匹配.查找.替换.判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力.因此,学 ...
- Java正则表达式的应用
在很多种情况下,我们都必须对字符串进行匹配,以便判断字符串的格式是否符合要求,对字符串中的内容进行提取.比如,我要从一段话aabdfe中,判断这段话是否有包含ab这个词,那么如果用if-else来判断 ...
- Java正则表达式实用教程
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.java.util.regex包主要包括以下三个类:Pattern.Matcher和PatternSynta ...
随机推荐
- Essential C++ Reading Notes
Chapter1 P6, 1.2 Why //#include<string> we still can use "string user_name"? -->c ...
- 笔记-7:mysql视图
1.视图概述 2.创建视图 CREATE [OR REPLACE] VIEW view_name [(column_list)] AS SELECT_statement [WITH { CASCADE ...
- C#基础算法题 找出最大值和最小值
找出最大值和最小值 题目要求 输入n个数,n<=100,找到其中最小的数和最大的数 实现代码 using System; namespace _1.求最大最小 { class Program { ...
- C++ std::string 在一个字符串前插入一个字符串几种方式
目录 1.直接使用字符串相加 2.使用insert函数 比较:通过Quick C++ Benchmarks 可得到结果 1.直接使用字符串相加 std::string a = "hello& ...
- 【规律】Parentheses
Parentheses 题目描述 Dave loves strings consisting only of '(' and ')'. Especially, he is interested in ...
- SVN迁移到Gitlab实践经历
svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...
- 本地Pycharm将spark程序发送到远端spark集群进行处理
前言 最近在搞hadoop+spark+python,所以就搭建了一个本地的hadoop环境,基础环境搭建地址hadoop2.7.7 分布式集群安装与配置,spark集群安装并集成到hadoop集群, ...
- 通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了?
原文:通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了? 问题就是,一个很简单的语句,在不同的服务器上执行,所需要的时间相差很大,特别提到在性能差的服务器上反而快,在性能 ...
- Spring Boot 项目集成 Alibaba Druid
Druid 是一个非常好用的数据库连接池,但是他的好并不止体现在作为一个连接池加快数据访问性能上和连接管理上,他带有一个强大的监控工具:Druid Monitor.不仅可以监控数据源和慢查询,还可以监 ...
- SAP UI5的support Assistant
SAP UI5的support Assistant给UI5刚入门的开发人员提供了一种极便利的快速熟悉UI5代码的途径. 召唤方式: ctrl+shift+alt+p四个键同时按,在弹出的对话框里点击按 ...