好久没写文章了,这一次是为了记录最近学习的正则表达式,正则表达式看起来虽然很复杂,但是学会了真的很好用,接下来我将结合具体例子来讲解正则表达式。
在介绍正则表达式之前先介绍一个专门为正则表达式练习的网站 https://regex101.com/,大家最好一边学一边练习加深印象,不然记不住(我不练习是真记不住呀 )
正文 1、什么是正则表达式正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式,常使用缩写的术语“regex”或“regexp”。
例子:寻找3到15字符数a-z,0-9的字符串
可能这样讲不一定很清楚,如果想知道正则表达式有什么用可以看后面正则表达式的应用,下面我们先讲清楚有什么正则表达式。
2、正则表达式语法 2.1 基本匹配正则表达式其实就是在执行搜索时的格式,它由一些字母和数字组合而成。 例如:一个正则表达式, the,它表示一个规则:由字母t开始,接着是h,再接着是e。
2.2 元字符正则表达式主要依赖于元字符。元字符不代表他们本身的字面意思,他们都有特殊的含义。一些元字符写在方括号中的时候有一些特殊的意思。以下是一些元字符的介绍: 接下来依次介绍每个元字符
2.2.1 点运算符 ..是元字符中最简单的例子。 .匹配任意单个字符,但不匹配换行符。 例如,表达式.ar匹配一个任意字符后面跟着是a和r的字符串。
2.2.2 字符集[ ]字符集也叫做字符类。 方括号用来指定一个字符集。 在方括号中使用连字符来指定字符集的范围。 在方括号中的字符集不关心顺序。 例如,表达式[Tt]he 匹配 the 和 The。(即方括号里是字符的取值范围,这里只能取T,t,如果有字符串che的话则不会被匹配)
有个小tips,一般来说 . 点运算符就表示除换行符以外的任意字符,所以我们如果要只是搜索 . 的话就得用转义字符 . ,但是神奇的是呢,在[ ]里,不论是直接使用点还是转义字符都可以表示.
2.2.3 否定字符集 ^一般来说 ^ 表示一个字符串的开头,但它用在一个方括号的开头的时候,它表示这个字符集是否定的。 例如,表达式[^c]ar 匹配一个后面跟着ar的除了c的任意字符。
2.2.4 * 号*号匹配 在*之前的字符出现大于等于0次。 例如,表达式 a* 匹配0或