在计算机科学中,正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
正则表达式的特点是:1. 灵活性、逻辑性和功能性非常的强;2. 可以迅速地用极简单的方式达到字符串的复杂控制。3. 对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
2.切割
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
正则表达式的特点是:1. 灵活性、逻辑性和功能性非常的强;2. 可以迅速地用极简单的方式达到字符串的复杂控制。3. 对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
正则表达式符号
正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。
java 对正则表达式的操作
java中string 的一些方法可以使用正则表达式,进行字符串的匹配和替换、切割。更强大的就是使用Pattern类和Matcher类,可以获取相应的字符串。
1.匹配
public boolean matche(String str ,String regex){
return str.matches(regex);
}
2.切割
public String[] spliter(String str,String regex){
return str.split(regex);
}
3.替换
public String replicStr(String str,String regex,String replacement){
return str.replaceAll(regex, replacement);
}
4
.获取
public static void getDemo(){
String str = "ming tian jiu yao fang jia le ,da jia.";
String reg = "\\b\\w{3}\\b";
// 1.将规则封装成对象
Pattern p = Pattern.compile(reg);
//2.让正则表达式和要作用的字符串相关联,获取匹配器对象
Matcher m = p.matcher(str);
//m.find();
//m.group();
while(m.find()){
System.out.println(m.group());
//取出所在字符的开始索引位置
System.out.println(m.start()+"----"+m.end());
}
}
步骤:
1.将正则表达式封装成对象
2.让正则对象和要操作的字符串相关联
3.关联后获取正则匹配的引擎
4通过引擎对符合规则的子串进行操作。