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 ...
随机推荐
- python学习-25 函数递归
递归 例如: def abc(n): print(n) if int(n/2) == 0: return n return abc(int(n/2)) abc(10) 运行结果: 10 5 2 1 P ...
- python实现文件搜索工具(简易版)
在python学习过程中有一次需要进行GUI 的绘制, 而在python中有自带的库tkinter可以用来简单的GUI编写,于是转而学习tkinter库的使用. 学以致用,现在试着编写一个简单的磁文件 ...
- go 函数 命名返回值
Go 的返回值可以被命名,并且像变量那样使用. 返回值的名称应当具有一定的意义,可以作为文档使用. 没有参数的 return 语句返回结果的当前值.也就是`直接`返回. 直接返回语句仅应当用在像下面这 ...
- shell习题第22题:
[题目要求] 加入A服务器可直接ssh到B,不用输入密码.A和B都有一个目录是/data/web/这下有很多文件,我们不知道这下面有多少层目录,但是之前的目录结构和文件是一模一样的.但是现在不确定是否 ...
- Android蓝牙遥控器APP关键代码 guihub项目
package com.car.demo; import java.io.IOException; import java.io.OutputStream; import java.util.UUID ...
- OutOfRangeError的解决办法
自制TFRecord数据集,训练神经网络出现的一个问题,及解决办法. 错误现象: 数据训练完成后,测试数据集正确率时,运行mnist_test.py文件,出现错误代码 问题分析:显示需测试数据10 ...
- kong 命令(五)plugin
介绍 plugin 插件 是运用在kong网关各模块的功能.在http请求或响应过程中执行的插件: 可以实现认证.负载.加密等功能. kong官网提供了一些插件:https://docs.konghq ...
- C++ ifstream ofstream 注意事项
很久没写C++,已经完全不会写了... 在使用ifstream读取一个二进制文件时,发现读取的内容和源文件不相同,导致数据解析失败,于是尝试把用ifstream读取的内容用ofstream写入另一个文 ...
- stm32 ADC模数转换 ADC多通道 ADC DMA
通过调节电位器,改变AD转换值和电压值 STM32F1 ADC 配置步骤 1.使能GPIO时钟和ADC时钟 2.配置引脚模式为模拟输入 3.配置ADC的分频因子 4.初始化ADC参数,ADC_Init ...
- MUI底部导航栏切换效果
首先是html代码: <nav class="mui-bar mui-bar-tab"> <a href="view/templates/home/ho ...