正则表达式心得

简单的的思路:

(1)掌握基本的正则表达式知识;会了一种,其他语言都是通用的,只是不同语言语法不一样。

(2)掌握基本的《单位元》表示方法,比如1个数字,可以[0-9],可以[\d]。1个字符[a-zA-Z],可以[\w]。另外还有1个空格,1个中文,特殊字符等等。

(3)掌握个数控制(+、*、{1,10}、{1,}等等),就可以根据第(2)点,实现字符限制,(限制需要掌握^、$两个符号)。比如

1、字符要求2到10位 :  ^[\w]{2,10}$

2、数字、字符、_、中文的混合限制2到10 :  ^[\d\u4E00-\u9FA5\w_]{2,10}$

3、好了,思路先到这里。

 

 

下面附上一些常用的正则匹配

/* 任意字符 */

.或者[\s\S]其中\s匹配所有的空格,换行,tab制表符等,而\S表示除了\s外的所有字符,所以两者的结合等价于.

/* 英文单词 */
^\\w+$


    /** 中文 */
[\u4E00-\u9FA5]


    /** 6到30位 数字 + 字符 + _,常用于用户名注册 */
^[a-zA-Z][a-zA-Z0-9_]{6,29}$


    /** 5到20位 数字 + 字符 + _,常用于用户名注册 */
^[a-zA-Z][a-zA-Z0-9_]{5,19}$


    /** 数字 + 字符 + _,且必须已字母开头 */

^[a-zA-Z][a-zA-Z0-9_]+$


    /** 数字 + 字母 组合 */
^[A-Za-z0-9]+$


    /** 字母组合 */
^[A-Za-z]+$


    /** 大写字母组合 */
^[A-Z]+$


    /** 小写字母组合 */
^[a-z]+$


    /** 双字节 */
[^x00-xff]


    /** URL地址: 包括 http, ftp 等 */
[a-zA-z]+://[^s]*


    /** HTTP URL */
http(s)?://[^s]+


    /** Internet URL */
^http(s)?://([\\w-]+.)+[\\w-]+(/[\\w-./?%&=]*)?$


    /** HTML 标签 */

<(\\S*?)[^>]*>.*?|<.*? />


    /** IP 地址 */
((25[0-5])|(2[0-4]\\d)|(1\\d{2})|([1-9]\\d)|(\\d)).((25[0-5])|(2[0-4]\\d)|(1\\d{2})|([1-9]\\d)|(\\d)).((25[0-5])|(2[0-4]\\d)|(1\\d{2})|([1-9]\\d)|(\\d)).((25[0-5])|(2[0-4]\\d)|(1\\d{2})|([1-9]\\d)|(\\d))


    /** Email 地址 */
\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*.\\w+([-.]\\w+)*


    /** 中国电话号码 */
0\\d{2,3}-\\d{7,8}


    /** 中国移动电话 */
1[3|5|8][0-9]-\\d{8}


    /** 中国身份证号 */
    public static final String REGEX_IDCARD_CHINA = "\\d{17}[0-9|x|X]|\\d{15}";


    /** 中国邮政编码 */
    public static final String REGEX_ZIPCODE_CHINA = "\\d{6}";


    /** QQ号 */
    public static final String REGEX_QQ = "[1-9][0-9]{4,}";


    /** 数字 */
    public static final String REGEX_CNUMBER = "^[0-9]+$";


    /** 正数 */
    public static final String REGEX_INT_POSITIVE = "^[1-9]\\d*$";


    /** 非正数 */
^-[1-9]\\d*|0$


    /** 负数 */
^-[1-9]\\d*$


    /** 非负数 */
^[1-9]\\d*|0$


    /** 整数 */
^-?[1-9]\\d*$


    /** 浮点数 */
^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$


    /** 正浮点数 */
^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$


    /** 非正浮点数 */
^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$


    /** 负浮点数 */
^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$


    /** 非负浮点数 */
^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$


    /** 空行 */
\n\\s*\r


    /** 空字符 */
^\\s*|\\s*$


    /**
     * 关键字标签正则:仅允许输入中文、英文(含大小写)、数字,输入内容必须以逗号隔开(含中英文逗号),但不能以逗号开头或结尾
     * 正确格式示例:99,AB,示例,ss,呵呵
     *
^([a-zA-Z0-9\\u4e00-\\u9fa5]+[,|,])*[a-zA-Z0-9\\u4e00-\\u9fa5]+$


    /**
     * 能输入有1~3位小数的正实数(包含0)
     */
     ^[0-9]+(\\.[0-9]{1,3})?$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值