正则的一些知识及应用

正则:主要用作数据校验和字符串处理
1.正则的语法
2.正则在java中的使用

学习目的: 通过正则表达式处理字符串复杂的查找/替换/匹配/分割工作

概念: 使用单个字符串(也叫脚本语言)来描述/匹配一系列符合某个语法规则的字符串

[email protected]
[email protected]

使用步骤
1.通过大量的字符串找规律定义规则
2.使用这种规则去匹配新的字符串
3.匹配成功作出相应的操作(匹配 查找 替换 分割)

工具: https://regexper.com/

正则表达式由两种基本字符组成
原义字符:字符本身就是一个正则 \t \n \r \f
元字符: * + ? $ ^ () [] {}…

对正则表达式进行分类
字符类: [abc] 将字符进行归类,可以出现[]中的其中一个 对abc其中一个进行匹配
[^abc] 对不是abc的字符进行匹配

范围类:
[a-z] 表示代表a-z中的一个字符
表示所有的英文字母和数字 [a-zA-Z0-9]
预定义类:
\d == [0-9] 数字
\D == [^0-9] 非数字
空白字符:[ \t\n\x0B\f\r] == \s
[^ \t\n\x0B\f\r] == \S
[a-zA-Z0-9] \w
[^a-zA-Z0-9] \W
. 任何字符(与行结束符可能匹配也可能不匹配)

边界字符
^:以XXX开头
$:以XXX结尾
\b:单词边界
\B:非单词边界

量词
?:出现0次或者1次
+:出现1次或者多次
*:出现任意次
{n}:出现正好n次
{n,m}出现n-m次
{n,}出现至少n次

分组 ()
如何让Jack出现至少3次
(Jack){3,}
忽略分组:每一组能够分组,但是没有编号 ?:


Ja(ck|Love)Kitty

反向引用
利用分组的编号进行反向引用
反向引用使用$,必须先分组
2018-04-27 ==> 04/27/2018

正则表达式在Java中的应用总结
1.字符串查找操作 Pattern和Matcher
2.字符串匹配操作 字符串的matches()方法
3.字符串替换操作 字符串的replaceAll()和replaceFirst()方法
4.字符串分割 split() 方法

猜你喜欢

转载自blog.csdn.net/Ariqiao/article/details/89502963
今日推荐