给你个例子:今天看到论坛上有人问屏蔽手机号码怎么做,其实用jdk自己带的正则表达式库可以很好的解决。
下面是我写的屏蔽程序:import java.util.regex.*;public class ReplaceTel{
public static void main(String[] args) throws Exception{
Pattern p = Pattern.compile("13[0-9]{9}");
Matcher m = p.matcher("your tel is : 13331239924;but my is 13347215555");
String result = m.replaceAll("XXXXXXXXXXX")
System.out.println(result);
}
}其中"13[0-9]{9}");就是正则表达式
下面是我写的屏蔽程序:import java.util.regex.*;public class ReplaceTel{
public static void main(String[] args) throws Exception{
Pattern p = Pattern.compile("13[0-9]{9}");
Matcher m = p.matcher("your tel is : 13331239924;but my is 13347215555");
String result = m.replaceAll("XXXXXXXXXXX")
System.out.println(result);
}
}其中"13[0-9]{9}");就是正则表达式
check = /^\w+$/; //定義表達式規定的格式,這里是不為空的字母\數字\與下滑線的組合
result = check.test(string); //用test方法檢查字符串是否符合規定.結果返回result
可以在google和這里搜索下,很多關于表達式的東西.寫的也相對標准,實用化....以上僅供參考.
在导入java.util.regex这个库之后,要使用static Pattern.compile()方法先编译正则表达式,它根据输入的字符串参数产生一个Pattern对象.比如:
Pattern p = Pattern.compile("\\w+\");
这些都能在jdk文档里找到答案,在这里"\w"代表一个单词字符:[a-zA-Z_0-9].+代表"一个或多个前述的表达式",所以这个例子表示一个或多个单词字符.
在编译一个Pattern对象之后可以通过调用matcher()方法使用它,秩序把想要查找的字符串传递给它.matcher()方法产生一个Matcher对象,这个对象包含一组操作以选择部标对象.^_^,这个只是最初级的东西.去翻jdk文档,或者去买本书看吧!