正则表达式

java:

  一个字符:

  .  :一个任意字符

  \d :一个数字

  \s :一个空白字符

  \w :一个单词字符 (a-zA-Z0-9)

 

  字符长度

  {n,m}   :至少n次,但是不超过m次

  {n}     :恰好n次

  {n, }   : 至少n次


  X? X    :一次或一次也没有

  X* X    :零次或多次

  X+ X    :一次或多次
 

  [a-z]     :一个小写字母

  [a-zA-Z]  :一个小写或者大写的字母

  [^0-9]    :除了0-9以外 
  [a-d[m-p]]     :a-d或者m-p  [a-dm-p]并集

  [a-z && [def]]  :d , e , f 交集

  js:

  ^   以这个为开始

  $   以这个为结束
  /[abcd]/      某一位是a或b或c或d

  /abcd/        连续四位是abcd

  /[ab][cd]/      前一位a或b, 后一位c或d

  /[a-zA-Z]/     a-z或者A-Z

  /[\d]/       匹配数字
  
  /[\D]/       匹配非数字

  /[\w]/       匹配数字,字母,下划线

  /./         匹配任意字符

  /\./        匹配点(.)

  /[\d][\d][\d]/  连续三个数字

  /[\d]{3,7}/    3-7位数字

  /[\d]?/  0位或1次

  /[\d]*/  0位或多次

  /[\d]+/  1位或多次

  例:

   /^[\w]{4,16}$/       英文字母,数字或者下划线,长度为4-16个字符

  /^[a-zA-Z0-9]{6,16}$/   6-16个字母或数字组成

  /^[\d]{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([12][\d])|(3[01]))$/  日期格式:yyyy-mm-dd

  /\w+@163\.com$/       简单的163邮箱 *****@163.com

 字符串与正则用Matches比较:一个字符串是否符合0位或多位数字的正则

public class Matches {
	public static void main(String[] args) {
		String str = "034234";
		if(str.matches("[0-9]\\d*")) {    //判断0或多个数字的正则
			System.out.println("符合正则表达式");
		}else {
			System.out.println("不符合正则表达式");
		}
	}
}

  

posted @ 2017-10-24 00:16  不言-  阅读(377)  评论(0编辑  收藏  举报