正则表达式

1、定义字符串出现次数的符号

{n}:字符串要连续出现n次
{n,m}:字符串至少要连续出现n次,最多可以出现m次
{n,}:字符串至少要连续出现n次,最多出现次数不限
?:字符串出现0次或1次,相当于{0,1}
*:字符串至少出现0次,相当于{0,}
+:字符串至少出现1次,相当于{1,}
():括号中的表达式作为整体
|:竖线两侧的表达式以或者关系存在

2、匹配模式

2.1、贪婪模式

.+

2.2、非贪婪模式

.+?

定位符的使用
^:表示字符串开始位置,在正则表达式中要出现在最左(前)面,否则将被当作普通字符对待
$:表示字符串结束的位置,在正则表达式中要出现在最右(后)面,否在将被当作普通字符对该
\b:表示紧邻空白字符,字符串的开头或结尾也被看作空白字符
\B:表示不与空白字符相邻
\s:

3、正反向预搜索

3.1、正向搜索

肯定形式:(?=) 否定形式:(?!)
正向预搜索的内容要写在目标字符串的右边

3.2、反向预搜索

肯定形式:(?<=) 否定形式:(?

4、反向引用

正则表达式中,被小括号括起来的内容会被表达式引擎编号并记录下来
通过\num(num>=1)就能表示出num号的内容,但这部分内容必须在前面已经出现过
对内容编号的顺序:左括号先出现的内容被编号,但它仍然会被表达式引擎当作整体来看待
可以用(?x)的格式为一个组命名,使用\\k的方式引用该组里面的内容

5、Pattern类使用

一个Pattern类对象当中封装了一个编译过的正则表达式
构造方法是私有的,只能通过静态方法compile()生成对象
pattern()方法可以获得对象中所封装的那个正则表达式
split()方法可以用来分割字符串,能与正则表达式匹配的目标字符串被当作字符串,可分割String/StringBuffer/StringBuilder
静态方法matchers()可以测试某字符串与正则表达式能否匹配
静态方法quote()可获得被加入"特殊字符失效区"的正则表达式

6、匹配模式及其标志

7、Matcher类

8、Matcher类匹配方法

你可能感兴趣的:(springboot,正则表达式)