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