------ android培训、java培训、期待与您交流! ----------
正则表达式:
一. 正则简述
是符合一定规则的字符串表达式。有特殊应用场景。
二. 正则的作用
常用功能就是可以对字符串进行匹配,给其设定某种规则,符合一种规范,比如qq号,邮箱,电话号码,另外还可以根据其规则结合字符串操作的方法对字符串进行切割,替换,和获取.以实现特定的要求.
三. 正则 的用法
首先说一些正则表达式的规则
A:特殊字符
\\:反斜线
\r:回车
\n:换行
B:字符类
[abc]:a,b或者c的任意一个。
[^abc]:除了a,b,c以外的字符。
[a-zA-Z]:包括了26个英文字母。
[0-9]:包括了0-9这个10个数字字符。
C:预定义字符类
.任意字符
\d数字[0-9]
\D非数字[^0-9]
\w单词字符:[a-zA-Z_0-9]
\W非单词字符:[^\w]
D:边界匹配器
^行的开头
$行的结尾
\b单词边界
E:Greedy 数量词
x?0次或1次
x*0次或多次
x+1次或多次
x{n} 恰好n次
x{n,} 至少n次
x{m,n} 至少m次,但不能超过n次
按照这些规则,能够读懂别人的正则表达式即可。
简单的常见最好会写。
(3)正则的功能
A:匹配功能
String类下的matches
B:切割功能
String类下的split
C:替换功能
String类下的replaceAll
D:获取功能
Java正则表达式通过java.util.regex包下的两个类:Pattern和Matcher实现的
基本模式:
String regex = "规则";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(要获取的字符串);
m.find():判断是否有满足条件的数据
m.group():取出满足条件的数据
案例
import java.util.regex.*;
public class RegTest {
static void test()
{
Pattern p = null; // 正则表达式
Matcher m = null; // 操作的字符
boolean b = false;
// 正则表达式表示首字母是a,中间是任意字符,结尾以b结束 // 不匹配的结束
p = Pattern.compile("a*b");
m = p.matcher("baaaaaab");
b = m.matches();
// 输出匹配结果
System.out.println("匹配结果:"+b);
p = Pattern.compile("a*b");
m = p.matcher("aaaab");
b = m.matches();
System.out.println("匹配结果:"+b);
}
public static void main(String argv[])
{
test();
}
}
四. 正则的应用场景
当需要对一些字符串按按照给定的规则匹配,获取,切割,和替换时.
五. 正则的特点
只能对字符串操作
常与字符串的方法相结合