正则表达式定义及用法
2017-01-06 20:18
344 查看
正则表达式
是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用
A:字符
x
字符 x。举例:'a'表示字符a
\\
反斜线字符。
\n
新行(换行)符 ('\u000A')
\r
回车符 ('\u000D')
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:边界匹配器
^
行的开头
$
行的结尾
\b
单词边界
就是不是单词字符的地方。
举例:hello
world?haha;xixi
E:Greedy
数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好
n 次
X{n,} X,至少
n 次
X{n,m} X,至少
n 次,但是不超过
m 次
案例联系
package cn.it18zhang_02;
import java.util.Scanner;
/*
*
判断功能
*
String类的public boolean matches(String
regex)
*
*
需求:
*
判断手机号码是否满足要求?
*
*
分析:
*
A:键盘录入手机号码
*
B:定义手机号码的规则
*
13436975980
*
13688886868
*
13866668888
*
13456789012
*
13123456789
*
18912345678
*
18886867878
*
18638833883
*
C:调用功能,判断即可
*
D:输出结果
*/
public class RegexDemo
{
public static void main(String[]
args) {
//键盘录入手机号码
Scanner sc =
new Scanner(System.in);
System.out.println("请输入你的手机号码:");
String phone =
sc.nextLine();
//定义手机号码的规则
String regex =
"1[38]\\d{9}";
//调用功能,判断即可
boolean flag
= phone.matches(regex);
//输出结果
System.out.println("flag:"+flag);
}
}
是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用
正则表达式的组成规则
规则字符在java.util.regex Pattern类中A:字符
x
字符 x。举例:'a'表示字符a
\\
反斜线字符。
\n
新行(换行)符 ('\u000A')
\r
回车符 ('\u000D')
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:边界匹配器
^
行的开头
$
行的结尾
\b
单词边界
就是不是单词字符的地方。
举例:hello
world?haha;xixi
E:Greedy
数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好
n 次
X{n,} X,至少
n 次
X{n,m} X,至少
n 次,但是不超过
m 次
案例联系
手机号码
package cn.it18zhang_02;import java.util.Scanner;
/*
*
判断功能
*
String类的public boolean matches(String
regex)
*
*
需求:
*
判断手机号码是否满足要求?
*
*
分析:
*
A:键盘录入手机号码
*
B:定义手机号码的规则
*
13436975980
*
13688886868
*
13866668888
*
13456789012
*
13123456789
*
18912345678
*
18886867878
*
18638833883
*
C:调用功能,判断即可
*
D:输出结果
*/
public class RegexDemo
{
public static void main(String[]
args) {
//键盘录入手机号码
Scanner sc =
new Scanner(System.in);
System.out.println("请输入你的手机号码:");
String phone =
sc.nextLine();
//定义手机号码的规则
String regex =
"1[38]\\d{9}";
//调用功能,判断即可
boolean flag
= phone.matches(regex);
//输出结果
System.out.println("flag:"+flag);
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- Debian 7.x 安装Oracle JAVA
- springmvc实现url路由功能
- spring boot 配置 druid/** * 配置druid * Created by adam on 4/11/16. */ @Configuration public class D