正则表达式
来源:互联网 发布:京东关键词优化 编辑:程序博客网 时间:2024/06/08 02:22
正则表达式
1. 符合一定规律的字符串,如qq号码,邮箱等,String中有一个matches(正则表达式)方法,他可以通过正则表达式判断字符串是否满足某一规律,分割功能public String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。替换功能public String replaceAll(String regex,String replacement):把符合regex的用replacement替换下面给出案例:
键盘录入qq号码,校验QQ号码。
import java.util.Scanner;
1. 符合一定规律的字符串,如qq号码,邮箱等,String中有一个matches(正则表达式)方法,他可以通过正则表达式判断字符串是否满足某一规律,分割功能public String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。替换功能public String replaceAll(String regex,String replacement):把符合regex的用replacement替换下面给出案例:
键盘录入qq号码,校验QQ号码。
import java.util.Scanner;
public class RegexDemo {
public static void main(String[] args) {
/**
* 案例:(用正则和代码两种方式实现)
键盘录入qq号码,校验QQ号码。
需求:
1:要求必须是5-15位数字
2:0不能开头
分析:(封装一个方法,这个方法的返回值是布尔类型,参数就是qq号码)
1.判断qq号码的长度,5-15位之间
2.不能以0开头
3.每一位的字符必须是数字
*/
System.out.println("请输入你需要校验的qq号码");
Scanner sc = new Scanner(System.in);
String qq = sc.nextLine();
//将获取到的qq号码传递给我这个方法
//方式1:使用代码进行校验qq号码
//System.out.println(isCheck(qq));
//方式2:使用正则表达式校验qq号码
System.out.println(isCheck2(qq));
}
public static void main(String[] args) {
/**
* 案例:(用正则和代码两种方式实现)
键盘录入qq号码,校验QQ号码。
需求:
1:要求必须是5-15位数字
2:0不能开头
分析:(封装一个方法,这个方法的返回值是布尔类型,参数就是qq号码)
1.判断qq号码的长度,5-15位之间
2.不能以0开头
3.每一位的字符必须是数字
*/
System.out.println("请输入你需要校验的qq号码");
Scanner sc = new Scanner(System.in);
String qq = sc.nextLine();
//将获取到的qq号码传递给我这个方法
//方式1:使用代码进行校验qq号码
//System.out.println(isCheck(qq));
//方式2:使用正则表达式校验qq号码
System.out.println(isCheck2(qq));
}
private static boolean isCheck2(String qq) {
//定义一个校验qq号码的正则表达式,这个正则表达式就是符合我的qq号码的校验规则的正杂表达式
String reg = "[1-9][0-9]{4,14}";
//使用正则表达式校验我的qq号码
boolean flag = qq.matches(reg);
return flag;
}
2.规则字符在java.util.regex Pattern类中
//定义一个校验qq号码的正则表达式,这个正则表达式就是符合我的qq号码的校验规则的正杂表达式
String reg = "[1-9][0-9]{4,14}";
//使用正则表达式校验我的qq号码
boolean flag = qq.matches(reg);
return flag;
}
2.规则字符在java.util.regex Pattern类中
A:字符
x 字符x(举例:a,1)
\\ 反斜线字符
B:字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[0-9] 0-9字符
C:预定义字符类
. 任何字符
\d 数字:[0-9]
\w 单词字符:[a-zA-Z_0-9]
D:Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
x 字符x(举例:a,1)
\\ 反斜线字符
B:字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[0-9] 0-9字符
C:预定义字符类
. 任何字符
\d 数字:[0-9]
\w 单词字符:[a-zA-Z_0-9]
D:Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 大白 计算几何专题 凸包、半平面交、平面区域 部分例题练习题总结
- Hive 用ROW_NUMBER取每组top n
- vector 中 erase 用法注意事项
- 2017浙江省选二试第二天游记
- Android长连接之mina
- 正则表达式
- linux下常用的命令
- iOS开发——view内缩弹窗
- Java中的集合特点总结
- 1130. Infix Expression (25)
- Http学习
- FFmpeg_3.2.4+SDL_2.0.5学习(1)音视频解码帧及显示/播放数据
- java并发编程之——volatile详解
- python如何实现简单的爬虫功能