java 正则表达式的用途
2013-10-07 13:01
267 查看
package sin.wolf;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class APP {
public static void main(String[] args) {
APP app = new APP();
//检查邮箱是否合法
String macherRegex = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";
String matchTarget = "chn_xcl@163.com";
boolean b = app.match(macherRegex, matchTarget);
System.out.println("邮箱否:"+b);
//爬超链接
String findRegex = "<a\\s+href\\s*=\\s*(\"[^\"]*\"|[^\\s>]*)\\s*>";
String findTarget="545<a href=\"ww.baodu.coom\">fdgfdsgfdgfdsgfds<a href=\"cvxfdgfdfg\">fdgsfds";
List<String> herf = app.find(findRegex, findTarget);
System.out.println("超链接:"+herf);
// 过滤字符串
String replaceRegex = "习近平";
String replaceTarget="中共总书记习近平";
String replacement = "习主席";
String ne = app.replace(replaceRegex, replaceTarget, replacement);
System.out.println("替换后:"+ne);
//分割字符串
String splitRegex = "\\.";
String splitTarget = "192.168.0.125";
String[] arr = app.split(splitRegex, splitTarget);
System.out.println("切割成数组:"+Arrays.toString(arr));
}
//判断
public boolean match(String regex, String target){
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(target);
return matcher.matches();
}
// 查找
public List<String> find(String regex, String target) {
Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(target);
List<String> res = new ArrayList<String>();
while(matcher.find()){
int start = matcher.start();
int end = matcher.end();
String match = target.substring(start, end);
res.add(match);
}
return res;
}
// 替换
public String replace(String regex, String target,String replacement) {
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(target);
return matcher.replaceAll(replacement);
}
// 切割
public String[] split(String regex, String target) {
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
return pattern.split(target);
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class APP {
public static void main(String[] args) {
APP app = new APP();
//检查邮箱是否合法
String macherRegex = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";
String matchTarget = "chn_xcl@163.com";
boolean b = app.match(macherRegex, matchTarget);
System.out.println("邮箱否:"+b);
//爬超链接
String findRegex = "<a\\s+href\\s*=\\s*(\"[^\"]*\"|[^\\s>]*)\\s*>";
String findTarget="545<a href=\"ww.baodu.coom\">fdgfdsgfdgfdsgfds<a href=\"cvxfdgfdfg\">fdgsfds";
List<String> herf = app.find(findRegex, findTarget);
System.out.println("超链接:"+herf);
// 过滤字符串
String replaceRegex = "习近平";
String replaceTarget="中共总书记习近平";
String replacement = "习主席";
String ne = app.replace(replaceRegex, replaceTarget, replacement);
System.out.println("替换后:"+ne);
//分割字符串
String splitRegex = "\\.";
String splitTarget = "192.168.0.125";
String[] arr = app.split(splitRegex, splitTarget);
System.out.println("切割成数组:"+Arrays.toString(arr));
}
//判断
public boolean match(String regex, String target){
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(target);
return matcher.matches();
}
// 查找
public List<String> find(String regex, String target) {
Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(target);
List<String> res = new ArrayList<String>();
while(matcher.find()){
int start = matcher.start();
int end = matcher.end();
String match = target.substring(start, end);
res.add(match);
}
return res;
}
// 替换
public String replace(String regex, String target,String replacement) {
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(target);
return matcher.replaceAll(replacement);
}
// 切割
public String[] split(String regex, String target) {
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
return pattern.split(target);
}
}
相关文章推荐
- Java - 简述正则表达式及其用途。
- JAVA中正则表达式总结(详解及用途)
- java基础--正则表达式
- Java 过滤特殊字符的 正则表达式
- java学习之正则表达式一
- Java提取网页中url的正则表达式
- Java正则表达式问题Illegal repetition
- java 富文本编辑内容去除格式 正则表达式
- 使用Java正则表达式去掉Double类型的数据后面多余的0
- java正则表达式学习总结,以及和javascript正则表达式的区别
- Java正则表达式获取网页所有网址和链接文字
- java---正则表达式
- java中的正则表达式
- JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片
- Java正则表达式 matchs split replaceAll实例
- Java使用正则表达式抓取Bing首页每日图片
- java中正则表达式例子
- java利用正则表达式屏蔽特殊字符
- java正则表达式语法详解及其使用代码实例
- 黑马程序员——Java String类 and 正则表达式(第七篇)