正则表达式

public class Zhengze {

 /**
  * @param args
  */
 public static void main(String[] args) {
  String str = "11345678901";
  Pattern p = Pattern.compile("^1\\d{10}$");
  Matcher m = p.matcher(str);
  boolean b = m.matches();

  if(b){
   System.out.println(true);
   System.out.println(true);
  }
 }

}

 

分割字符串:(注意正则区别)

 

        Pattern p = Pattern.compile("[0-9]{7,8}");
        String str = "11223333  2233311  22231233";
        Matcher m = p.matcher(str);
       //由于不知道有多少个电话号码会被匹配出来,所以采用List存放电话号码
        List<String> mobileList = new ArrayList<String>();
        while(m.find()){
         mobileList.add(m.group());  //将匹配出的电话号码存放到mobileList中
        }
        String[] mobiles = new String[mobileList.size()];  //声明数组存放电话号码
        int i = 0;
        for(String mobile : mobileList){ //将list中的电话号码转存到数组中
         mobiles[i] = mobile;
         i++;
        }      
        for(int j=0;j<mobiles.length;j++){
         System.out.println(mobiles[j]); //打印电话号码
        }

 

常用表达式

 

[size=12px]1^\d+$  //匹配非负整数(正整数 + 0)
2^[0-9]*[1-9][0-9]*$  //匹配正整数
3^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0)
4^-[0-9]*[1-9][0-9]*$  //匹配负整数
5^-?\d+$    //匹配整数
6^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0)
7^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数
8^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数 + 0)
9^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数
10^(-?\d+)(\.\d+)?$  //匹配浮点数
11^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
12^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
13^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
14^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
15^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
16^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址
17^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url
18。匹配中文字符的正则表达式: [\u4e00-\u9fa5]
19。匹配双字节字符(包括汉字在内):[^\x00-\xff]
20。应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len
=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
21。匹配空行的正则表达式:\n[\s| ]*\r
22。匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
23。匹配首尾空格的正则表达式:(^\s*)|(\s*$)

* 正则表达式用例
 
* 1^\S+[a-z A-Z]$ 不能为空 不能有空格  只能是英文字母
 
* 2、\S{6,}         不能为空 六位以上
 
* 3^\d+$          不能有空格 不能非数字
 
* 4、(.*)(\.jpg|\.bmp)$ 只能是jpg和bmp格式
 
* 5^\d{4}\-\d{1,2}-\d{1,2}$ 只能是2004-10-22格式
 
* 6^0$            至少选一项
 
* 7^0{2,}$        至少选两项
 
* 8^[\s|\S]{20,}$ 不能为空 二十字以上
 
* 9^\+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(\.|\-))+[a-z]{2,6}$邮件
 
* 10、\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* 输入多个地址用逗号或空格分隔邮件
 
* 11^(\([0-9]+\))?[0-9]{7,8}$电话号码7位或8位或前面有区号例如(02287341628
 
* 12^[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+(\,[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+)*$
 
*     只能是字母、数字、下划线;必须有@和.同时格式要规范 邮件
 
* 13 ^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$上面表达式也可以写成这样子,更精练。
   
14   ^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$ [/size]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值