前言:今天先分享正则表达式的基础元字符,后续会分享正则表达式的子表达式,回溯引用,前后查找,嵌入条件,,全部分享完成之后,会尝试着去分享一些例子与拆分介绍。如果文字描述有问题可以评论指出,如果概念很模糊,可以加我微信,我会尽量解答你的疑惑。
一
正则表达式的定义
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
二
正则表达式的字符区间
[]这个元符号可以定义一个字符集合,字符集合能够与在该集合里的字符区间的字符相匹配。字符区间可以使用 - 连字符来定义范围。
A-Z 匹配从A到Z的所有大写字母
a-z 匹配从a到z的所有小写字母
A-Y 匹配从A到Y的所有大写字母
A-z 匹配从ASCII字符A到ASCII字符z的所有字母
-只能在[]间出现,出现在[]外面,相等于匹配-
三
正则表达式取非
[^0-9] 匹配非数字
[^a-zA-Z] 匹配非英文
[^\S] 匹配非空白符
四
正则表达式的空白元字符
[\b] 回退并删除一个字符(backspace)
\f 换页符
\n 换行符
\r 回车符
\v 垂直制表符
\t 制表符tab键
注:\r\n是windows使用的文本行结束标签,\n是unix/linux的文本行结束标签
五
正则表达式的其他元字符
\d匹配任何一个数字字符
\D匹配任何一个非数字字符
\w匹配任何一个字母数字字符(大小写)或者下划线字
符=[0-9a-zA-Z]
\W匹配任何一个非字母数字或非下划线字符
=[^0-9a-zA- Z]
\s匹配任何一个空白字符=[\f\r\n\t\v]
\S匹配任何一个非空白字符=[^\f\n\r\t\v]
六
正则表达式匹配字符
+匹配一个或多个字符
*匹配零个或者多个,可有可无,可多可少
?匹配零个或者一个字符举例:http与https
{} 可以设定匹配字符的次数
{3}匹配三次
{4,8}匹配最少4次,最多8次
{3,}匹配重复最少3次
七
正则表达式的贪婪型字符与懒惰型字符
-
- 为贪婪性元字符,在进行匹配时,行为模式是×××而不是适可而止的,会尽可能的从一段文本的开头一直匹配到文本的末尾,而不是从这段文本的开头匹配到碰到的第一个匹配是为止。
懒惰型字符相反。
贪婪型字符 * + {n,}
懒惰型字符 *? +? {n,}?
八
正则表达式边界字符
\w相匹配的字符叫做单词边界,\W相匹配的叫做非单词边界
\b单词边界字符,例如:至匹配 at 而不匹配 what,可以使用 --\bat\b
\B匹配一个前后都不是单词边界的连字符(-),nine-digit不能匹配,color - coded的连字符(-)可以匹配
技术讨论可加群(最优质的Java技术交流社区群体,无广告,无小号,绝对真实技术人员!)
加好友拉群(加好友请备注来源)