您的位置:首页 > 编程语言 > Java开发

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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: