正则表达式
来源:互联网 发布:淘宝众筹logo 编辑:程序博客网 时间:2024/06/13 05:19
在java.util.regex.Pattern中列出了所有的正则表达(重点)
字符类
1
[abc]
a、b或c
2
[^abc]
任何字符、除了a、b和c
3
[a-zA-Z]
大小写字母
4
[a-d[m-p]]
a到d或m到p
预定义字符类
1
\d
数字
2
\D
非数字
3
\s
空白字符
4
\S
非空白字符
5
\w
单词字符[a-zA-Z_0-9]
6
\W
非单词字符
7
.
任何字符
边界匹配器
^
行的开头
$
行的结尾
数量词
1
X?
0或1次
2
X+
1次或更多
3
X*
0次或更多
4
X{n}
恰好n次
5
X{n,}
n次或以上
6
X{m,n}
m到n次
Pattern类主要是负责通过Pattern.compile(Stringregex)定义正则规范,和通过split(charSwquence input)
拆分字符串的操作。(理解)
NO
方法
描述
1
Public static Pattern
compile(String regex)
获取pattern实例,并设置正则
2
public Matcher matcher(CharSequence input)
为Matcher实例化
3
public String[] split(CharSequence input)
拆分字符串input
4
public String pattern()
返回正则表达式
例如:
public static void main(String[] args) {
Pattern pat= Pattern.compile("\\d+");//定义拉一个正则规范
String str ="12dd1234hu34ij9df53yh54ij";
String[] s=pat.split(str);//按数字,拆分字符串
for(int i=0;i<s.length;++i){
System.out.print(s[i]+" ");
}
}
//结果 dd hu ij df yh ij
java.util.regex.Matcher类主要功能是用于进行正则的匹配,通过Pattern类中定义完的正则,在使用Matcher类进行验证或者替换。(理解)
NO
方法
描述
1
public boolean matches()
判断正则是否匹配
2
public String replaceAll(String replace)
正则替换成replace
3
public String replaceFirst(String replacement)
正则第一个替换成replacem
验证功能:
public static void main(String[] args) {
String str ="111-22-555";
String reg="\\d{3}-\\d{2}-\\d{3}";
Pattern pat = Pattern.compile(reg);
Matcher m = pat.matcher(str);
if(m.matches()){
System.out.println("验证成功");
}else{
System.out.println("验证失败");
}
}
替换功能
public static void main(String[] args) {
Pattern pat= Pattern.compile("\\d+");//定义拉一个正则规范
String str ="12dd1234hu34ij9df53yh54ij";
Matcher m= pat.matcher(str);
String s=m.replaceAll("*");
System.out.print(s);
}
}
//*dd*hu*ij*df*yh*ij
其实以上Pattern和Matcher的操作在String类中都存在,所以我们更多时候是用String类中的操作来完成正则。实际上在开发中我们都是用String的操作正则表达式,而不是用Pattern和Matcher类。
String类中的正则表达式支持(重点)
NO
方法
描述
1
public boolean matches(String regex)
是否匹配
2
public String replaceAll(String regex,String replacement)
符合regex正则的都替换成replacement
3
public String replaceFirst(String regex,String replacement)
第一个符合符合regex正则的替换成replacement
4
public String[] split(String regex)
根据给定正则regex的匹配拆分此字符串
举例:
public static void main(String[] args) {
String str="jtlyuan@126.com";
if(str.matches("\\w+@\\w+.(com|com.cn|cn|net.cn|org|edu|gov)")){
System.out.println(str+"是一个邮箱地址");
}
}
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- C++ 虚函数 派生类的调用
- 刚刚写了一个关于java中抽象类和接口的示例
- avi文件分析
- c++参数类型的识别(STL)
- 深入理解C语言——来自酷壳
- 正则表达式
- 简介如何查看执行计划以及执行计划的准确性
- I/O模式及SOCKET编程中的阻塞/非阻塞模式
- 网站目录是提升网站权重的好方法
- wince6下usb摄像头(UVC)使用指南
- NYOJ 150 Train Problem I 【栈】
- SLAM
- ARM 汇编 LDR STR MOV
- android打电话的程序