正则表达式Regular Expression (Regex)

基本认知

需求

表情替换
这个真的是有点 [捂脸]!!![哭]呵呵[哈哈][恐怖]

识别有没有[],根据里面的文字 换成表情

语法识别
[Link](http://zzpublic.com)

识别是否是个合法的 Markdown Link,并把网址扣出来

输入验证
#FFAA00

识别是否是一个合法的颜色值

模式匹配
18611223344

检查一个电话号码是否是幸福号码,AABB 格式

干什么

字符串模式匹配 与 提取

是什么

一门小语言,跟java无关

语法

https://regexr.com/

顺序匹配

a
ac

字符组

[ac]
[a-z]
[a-zA-Z]
[a-cf]
[0-9]
[td]o

反向字符组

[^a]
[^abc]

数量描述

正好1个
[a-zA-Z]{1}     
至少2个
[a-zA-Z]{2, }  
至少2个
[a-zA-Z]{2, }  
简写
[a-zA-Z]+       {1,}
[a-zA-Z]*       {0,}
[a-zA-Z]?       {0,1}

预定义字符组

.
\s \d \w
\S \D \W

单一字符匹配

. \s [a-z]

也就是说下面这么写是不对的

. \s [a[bc]]

转义

\

小组

2(\d)

局部抓取

Java 下相关的 API

ZZAX 微信公众

文档一更新,立刻告诉你