---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
一、qq号码验证
对qq号码进行验证,要求qq号码符合三个条件1,5~15位,2,不能以0开头,3,只能是数字。
1,普通验证
public class CheckQQ {
public static void main(String[] args) {
String qq = "23343434";
check_qq(qq);
}
private static void check_qq(String qq) {
if(qq.length()>=5&qq.length()<=15)
{
if(!qq.startsWith("0"))
{
try
{
Long l = Long.parseLong(qq);
System.out.println(l+"is ok");
}
catch (Exception e)
{
System.out.println("非法字符");
}
}else
{
System.out.println("不能以0开头");
}
}else
{
System.out.println("长度错误");
}
}
}//打印23343434is ok
2,采用正则表达式的方式
public class CheckQQ {
public static void main(String[] args) {
String qq = "23345434";
check_qq(qq);
}
private static void check_qq(String qq) {
String regex = "[1-9][0-9]{4,14}";
boolean flag = qq.matches(regex);
if(flag)
{
System.out.println(qq+"is ok");
}
else
{
System.out.println("不存在");
}
}
}//打印23345434is ok
通过两个程序可以看出,普通方式需要使用大量的ife-lse语句依次对每个条年进行判断,而使用正则表达式判断要简洁多。因此正则表达式用于处理字符串更加灵活。
二、正则表达式
符合一定规则的表达式,专门用于操作字符串,简化字符串操作
1,正则表达式的常见规则
private static void check_matches() {
String email = "shisong@163.com";
String regex = "[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
boolean b = email.matches(regex);
System.out.println(b);
}
public static void method_split(){
String str = "192 168 3 123";
String[] arr = str.split("(.)\\1+");
for(String s : arr){
System.out.println(s);
}
}//打印:192,168,3,123
public static void method_split(){
String str = "abqqqqqcdettfdhhgtnssth";
//正则组,()专门处理叠词
String[] arr = str.split("(.)\\1+");
for(String s : arr){
System.out.println(s);
}
}//打印结果:ab,cde,fd,gtn,th
public static void method_replaceAll(){
String str = "helllowssorrrrrld";
String s = str.replaceAll("(.)\\1+","$1");
System.out.println(s);
}//打印:helowsorld
1.3,正则对象与要操作的字符串匹配,获取搜索引擎
2.2,封将正则封装成对象:Pattern p = Pattern.compile(reg)
public static void method(){
String str = "wo de jia zai yuan fang ni mei qu guo";
//找出3个字母的单词
//预编译正则
String reg = "\\b[a-zA-Z]{3}\\b";
Pattern p = Pattern.compile(reg);
//正则规则,匹配字符串
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group());
}
}//打印结果:jia,zai,mei,guo
2,利用URLConnection建立 资源连接
import java.net.*;
import java.util.regex.*;
import java.io.*;
class CatchEmail
{
public static void main(String[] args) throws Exception
{
String reg = "[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
URL url = new URL("http://www.taobao.com");
//开启连接
URLConnection conn = url.openConnection();
BufferedReader bfr = new
BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while((line = bfr.readLine())!=null){
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(line);
while(m.find()){
System.out.println(m.group());
}
}
}
}
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>