正则表达式一、正则表达式概述及语法
概述
使用单个字符串来描述/匹配一系列符合某个语法规则的字符串,通过正则表达式来处理字符串的相关复杂操作;正则表达式不属于Java的技术,却是大部分语言都支持的技术,类似于json。
内容
1.为什么要学习正则表达式?
使用正则表达式可以方便的处理来字符串复杂的查找 find/替换replace/匹配matches/分割split工作
2.正则表达式使用步骤
1)通过大量的字符串找规律定义规则
2)使用这种规则去匹配新的字符串
3)匹配成功作出相应的操作(匹配 查找 替换 分割)
3.正则表达式的语法
1)正则表达式由两种基本字符组成
2)原义字符:字符本身就是一个正则表达式,例如 a, b, c ,\t ,\n ,\r ,\f等等
3)元字符: * + ? $ ^ () [] {}等等 【有特殊含义的字符】
4.正则表达式分类
1)字符类: [abc]表示匹配abc中的任意一个字符,[ ^ abc] 为对 非abc的字符任意一个字符进行匹配;
2)范围类:[a-z] 表示代表a-z中的一个字符;
3)预定义类:
\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;
. 表示任何字符;
4)边界字符
^:以XXX开头
例如以a开头 ^a
: 以 X X X 结 尾 例 如 以 b 结 尾 b :以XXX结尾 例如以b结尾 b :以XXX结尾例如以b结尾b
\b:单词边界
\B:非单词边界
5.扩展
以上为正则表达式的语法,学习后大部分不是特别复杂的正则表达式均可以解读、使用,后续若遇到相对较复杂的正则表达式,可浏览网站 https://regexper.com进行解析。