正则表达式-入门

前言:今天先分享正则表达式的基础元字符,后续会分享正则表达式的子表达式,回溯引用,前后查找,嵌入条件,,全部分享完成之后,会尝试着去分享一些例子与拆分介绍。如果文字描述有问题可以评论指出,如果概念很模糊,可以加我微信,我会尽量解答你的疑惑。

一>>>正则表达式的定义

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

二>>>正则表达式的字符区间

[]这个元符号可以定义一个字符集合,字符集合能够与在该集合里的字符区间的字符相匹配。字符区间可以使用 - 连字符来定义范围。

A-Z 匹配从A到Z的所有大写字母

a-z 匹配从a到z的所有小写字母

A-Y 匹配从A到Y的所有大写字母

A-z 匹配从ASCII字符A到ASCII字符z的所有字母

-只能在[]间出现,出现在[]外面,相等于匹配-

三>>>正则表达式取非

1 匹配非数字

2 匹配非英文

3 匹配非空白符

四>>>正则表达式的空白元字符

[b] 回退并删除一个字符(backspace)

f 换页符

n 换行符

r 回车符

v 垂直制表符

t 制表符tab键

注:rn是windows使用的文本行结束标签,n是unix/linux的文本行结束标签

五>>>正则表达式的其他元字符

d 匹配任何一个数字字符

D 匹配任何一个非数字字符

w 匹配任何一个字母数字字符(大小写)或者下划线字

符=[0-9a-zA-Z_]

W 匹配任何一个非字母数字或非下划线字符

=[^0-9a-zA- Z_]

s 匹配任何一个空白字符=[frntv]

S 匹配任何一个非空白字符=4

六>>>正则表达式匹配字符

  • 匹配一个或多个字符
  • 匹配零个或者多个,可有可无,可多可少

? 匹配零个或者一个字符 举例:http与https

{} 可以设定匹配字符的次数

{3} 匹配三次

{4,8} 匹配最少4次,最多8次

{3,} 匹配重复最少3次

七>>>正则表达式的贪婪型字符与懒惰型字符

* + 为贪婪性元字符,在进行匹配时,行为模式是多多益善而不是适可而止的,会尽可能的从一段文本的开头一直匹配到文本的末尾,而不是从这段文本的开头匹配到碰到的第一个匹配是为止。

懒惰型字符相反。

贪婪型字符             懒惰型字符
        *                *?
        +                +?
       {n,}                {n,}?

八>>>正则表达式边界字符

w相匹配的字符叫做单词边界,W相匹配的叫做非单词边界

b单词边界字符,例如:至匹配 at 而不匹配 what,可以使用 --batb

B匹配一个前后都不是单词边界的连字符(-),nine-digit不能匹配,color - coded的连字符(-)可以匹配

关注JAVA知识分享与总结公众号,获取更多!


  1. 0-9 ↩
  2. a-zA-Z ↩
  3. S ↩
  4. fnrtv ↩

相关推荐