Regular Expression
Posted cheneywxy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Regular Expression相关的知识,希望对你有一定的参考价值。
在Java中regex包主要有三个类:
Pattern 类:
pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。
Matcher 类:
Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。
PatternSyntaxException:
PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。
正则表达式( regular expression)描述了一种字符串匹配的模式。可以用来:
(1)检查一个串中是否含有符合某个规则的子串,并且可以得到这个子串;
(2)根据匹配规则对字符串进行灵活的替换操作
正则表达式主要有一下两种字符组成:
1、原义文本字符(普通字符):
字母、数字、汉字、下划线、以及没有特殊定义的标点符号,都是"普通字符"表达式中的普通字符。在匹配一个字符串的时候,匹配与之相同一个字符 如:a,b,
2、元字符:
指的是在正则表达式中具有特殊含义的非字母字符(转义字符) ,如 换行符 水平制表符 v垂直制表符 回车符 o空字符 f换页符 cX与X对应的控制字符(ctrl+x)
特殊元字符:. * + $ ^| (){}[]
正则表达举例:
name的正则表达:[u4e00-u9fa5](中文名)
password的正则表达:
//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
/^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[[email protected]
#$%^&*? ]).*$/;
/^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+.([A-Za-z]{2,4})$/
/^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+.([A-Za-z]{2,4})$/
/^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))d{8}$/
以上是关于Regular Expression的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 10. Regular Expression Matching
leetcode 10 Regular Expression Matching