正则表达式Regular Expression (Regex)
基本认知
需求
表情替换
这个真的是有点 [捂脸]!!![哭]呵呵[哈哈][恐怖]
识别有没有[],根据里面的文字 换成表情
语法识别
[Link](http://zzpublic.com)
识别是否是个合法的 Markdown Link,并把网址扣出来
输入验证
#FFAA00
识别是否是一个合法的颜色值
模式匹配
18611223344
检查一个电话号码是否是幸福号码,AABB 格式
干什么
字符串模式匹配 与 提取
是什么
一门小语言,跟java无关
语法
顺序匹配
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)
局部抓取