加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 入门笔记

发布时间:2020-12-14 01:29:51 所属栏目:百科 来源:网络整理
导读:正则表达式 正则表达式是一中藐视字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。 行定位符 ^ 表示行的开始 $ 表示行的结束 如: ^tm 表示的是以tm开头的一个行 ,tm query is correct tm$ 则匹配的是,query is correct b

正则表达式

正则表达式是一中藐视字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。

行定位符

^ 表示行的开始

$ 表示行的结束

如:

^tm 表示的是以tm开头的一个行 ,tm query is correct

tm$ 则匹配的是,query is correct by tm

tm 则以上两者都可以匹配

单词定界符

字符类

正则表达式是区分大小写的,忽略大小写则需要“[]”。

如,我需要匹配一个tm字符串,不区分大小写,则格式是:

[Tt][Mm]

选择字符( | )

类似程序开发中的“或”。同样,需要匹配一个tm字符串,不区分大小写。还可以写为:

t|Tm|M

连字符( - )

如果需要匹配一个字母,写为[a,b,c,d,e,f,g,…A,B,C,D,E,F,G….]会很繁琐也会很累。

使用连字符则表示一定范围的意思,则字母就可以写为:

[a-zA-Z]

排除字符( [^] )

匹配不符合规则的变量,类似取反的意思。

[^a-zA-Z]

表示的是匹配不以字母和下划线开头的变量名

限定符( ? * + {n,m} )

限界符

说明

Demo

?

匹配前面的字符零次或一次

colou?r,可以匹配colour 或 color

+

匹配前面的字符一次或多次

go+gle,匹配 gogle 到 go…gle

*

匹配前面的字符零次或多次

go*gle,匹配 ggle 到 go…gle

{n}

匹配前面的字符n次

go{2}gle,只匹配 google

{n,}

匹配前面的字符至少n次

go{2,}gle,匹配 google 到 go…gle

{n,m}

匹配前面的字符至少n次,最多m次

go{0,2}gle,匹配 ggle,gogle,google

点号字符( . )

匹配除换行符外的任意一个字符

说明

表达式

Demo

匹配以s开头、t结尾、中间包含一个字母的单词

^s.t$

sat、set、sit

匹配第一个字符时r,第三个是s,最后一个是t的字符

^r.s.*t$

rast、risat、restet

括号字符( ( ) )

你没猜错,和我们平时的计算式中括号的作用一样,改变计算的优先级

如,

(fa|mo)ther

先匹配的是括号内的|,再匹配括号外的。匹配的单词为:father,mother

转义字符( )

如“.”,“?”,“”等字符已经有了自己的特殊含义,如果想使用本身的字符含义则需要在字符前加一个“”来转义。

比如我们要匹配这么一个IP地址127.0.0.1

[0-9]{1,3}(.[0-9]{1,3}){3}

反斜线( )

表示预定义字符集

预定义字符

说明

a

任意一个十进制数,相当于[0-9]

D

任意一个非十进制数

s

任意一个空白字符(空格、换行符、换页符、回车、制表),即[ftrn]

S

任意一个非空白字符

w

任意一个单词字符,相当于[a-zA-Z0-9_]

W

任意一个非单词字符

定义断言的限定符

限定符

说明

b

单词定界符,用来匹配字符串中的某些位置

B

非单词定界符序列

A

总是能够匹配带搜索文本的起始位置

Z

表示在未指定任何模式下的匹配的字符,通常是字符串的末尾位置

z

子匹配字符串的末尾,而不考虑任何的换行符

G

当前匹配的起始位置

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读