正则表达式
正则表达式
1.正则表达式可以方便对数据进行匹配,可以执行更加复杂的字符串验证、拆分、替换功能。
2.最早的判断字符串的基本思路:将字符串拆分字数组,依次判断。
3.正则表达式可以实现字符串的验证操作。
常用正则规则:
\\ 表示\ \t 表示制表符
\n 表示换行 [abc] 字符a、b、c
[^abc] 表示除了a、c、d之外的任意字符 [a-zA-Z0-9] 表示字母、数字组成
\d 表示数字,[0-9] \D 表示非数字,[^0-9]
\w 表示字母、数字、下划线 \W 表示非字母、数字、下划线,^[a-zA-Z0-9]
\s 表示所有空白字符(换行、空格) \S 表示所有非空白字符
^ 行的开头 $ 行的结尾
. 匹配除换行符之外的任意字符
数量规则:
X 必须出现一次 X? 可以出现0次或1次
X* 可以出现0次、1次或多次 X+ 可以出现1次或多次
X{n} 必须出现n次 X{n,} 必须出现n次以上
X{n,m} 必须出现n~m次
逻辑运算符:
XY X规范后跟着Y规范
X|Y X规范或Y规范
(X) 做为一个捕获组规范
以上的正则,如果要想驱动起来,则必须依靠Pattern类和Mather类
Pattern主要表示一个规则的意思,即:正则表达式的规则需要在Pattern类中使用。
Matcher类主要表示使用Pattern指定好的验证规则。
Pattern类:
没有明确的构造方法,那么肯定此类的构造方法被私有化了,则可以直接从Pattern类中取得本类的实例。
compile(String regex)指定操作的正则
matcher() 为matcher实例化
split 拆分
Matcher类:
replaceAll() 字符串的替换
matches() 字符串的验证
如果一个字符串无法按照指定的字符拆分的话,则使用“\”转义;
在开发中一般都会直接使用String类中提供好的正则支持,而很好使用Pattern和Matcher类。