正则表达式

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("不符合正则表达式");
		}
	}
}

  

原文地址:https://www.cnblogs.com/superxff/p/7719958.html