`
geeksun
  • 浏览: 956461 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java正则表达式

阅读更多

       正则表达式在js中大行其道,在Java中在JDK1.4以后引入,其中用到的包是java.util.regex,常用的类有 Pattern和Matcher,其中文名为模式和匹配,很好理解,就是一个定义模式,另一个来匹配。
       ps:正则表达式是文本处理的重要技术,在Perl、PHP、Python、JavaScript、Java、C#中被广泛支持。被列为“保证你现在和未来不失业的十种关键技术”,呵呵,是不是很搞笑。
       用法:
1、写一个特殊的字符串??正则表达式如a|f。
2、将正则表达式编译成一个模板:p
3、用模板p去匹配字符串str。

 

package com.regex; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
/** 
* @author jzq
*  正则表达式 
*  2009-4-30 
*/ 
public class RegularTest {	
	/** 
	*  传统方法:查询文本或字符串中是否有y和f字符 
	*/ 
	static void method1(){ 
	String str="For my money, the important thing "+ 
        "about the meeting was bridge-building"; 
        char x='y'; 
        char y='f'; 
        boolean result=false; 
        for(int i=0;i<str.length();i++){ 
               char z=str.charAt(i);  //System.out.println(z); 
               if(x==z||y==z) { 
                      result=true; 
                      break; 
               } 
               else result=false; 
        }   
        System.out.println(result); 
    }	
	/** 
	*  使用正则表达式包 
	*/ 
	static void method2(){ 
	String str="For my money, the important thing "+ 
        "about the meeting was bridge-building"; 
        String regEx="a|f";   //表示a或f 
        Pattern p=Pattern.compile(regEx); 
        Matcher m=p.matcher(str); 
        boolean result=m.find(); 
        System.out.println(result); 
	}	
	/** 
	*  字符串的替换 
	*/ 
	static void method3(){ 
	String regEx="a+";//表示一个或多个a 
        String str="abbbaaa an banana hhaana"; 
        Pattern p=Pattern.compile(regEx); 
        Matcher m=p.matcher(str); 
        String s=m.replaceAll(""); // ("") 删除 
        System.out.println(s);	
	} 
		/** 
         *   验证是否整数 
         */ 
        public final boolean isInteger(String str){ 
        if (str == null) 
			return false; 
		Pattern pattern = Pattern.compile("[0-9]+"); 
		return pattern.matcher(str).matches(); 
        }
	/**
     *
     * @param str  需要过滤的字符串
     * @return
     * @Description:过滤数字以外的字符
     */
    public static String filterUnNumber(String str) {
        // 只允数字
        String regEx = "[^0-9]";
        Pattern p = Pattern.compile(regEx);
        Matcher m = p.matcher(str);
    //替换与模式匹配的所有字符(即非数字的字符将被""替换)
        return m.replaceAll("").trim();
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics