加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

作为运维还不会正则表达式?

发布时间:2021-04-22 09:43:58 所属栏目:外闻 来源:互联网
导读:在 Javascript 中,一个正则表达式以 / 开头和结尾,所以简单至 /hello regexp/ 就是一个正则表达式。 Flags(标志符或修饰符) Flags 写在结束的/之后,可以影响整个正则表达式的匹配行为。常见的 flags 有: g:全局匹配(global);正则表达式默认只会返回第一

在 Javascript 中,一个正则表达式以 / 开头和结尾,所以简单至 /hello regexp/ 就是一个正则表达式。

Flags(标志符或修饰符)

Flags 写在结束的/之后,可以影响整个正则表达式的匹配行为。常见的 flags 有:

g:全局匹配(global);正则表达式默认只会返回第一个匹配结果,使用标志符g则可以返回所有匹配

i:忽略大小写(case-insensitive);在匹配时忽略英文字母的大小写

m:多行匹配(multiline);将开始和结束字符(^和$)视为在多行上工作,即分别匹配每一行(由 n 或 r 分割)的开始和结束,而不只是只匹配整个输入字符串的最开始和最末尾处

Flags 可以组合使用,如:配字符集合中的任意一个字符,常见的字符集有:

[xyz]:匹配 "x"或"y"``"z"

[^xyz]:补集,匹配除 "x" "y" "z"的其他字符

[a-z]:匹配从 "a" 到 "z" 的任意字符

[^a-n]:补集,匹配除 "a" 到 "n" 的其他字符

[A-Z]:匹配从 "A" 到 "Z" 的任意字符

[0-9]:匹配从 "0" 到 "9" 的任意数字

比如匹配所有的字母和数字可以写成:/[a-zA-Z0-9]/ 或者 /[a-z0-9]/i。

Quantifiers (量词)

在实际使用中常需要匹配同一类型的字符多次,比如匹配 11 位的手机号,我们不可能将 [0-9] 写 11 遍,此时可以使用 Quantifiers 来实现重复匹配。

{n}:匹配 n 次

{n,m}:匹配 n-m 次

{n,}:匹配 >=n 次

?:匹配 0 || 1 次

*:匹配 >=0 次,等价于 {0,}

+:匹配 >=1 次,等价于 {1,}

Metacharacters(元字符)

在正则表达式中有一些具有特殊含义的字母,被称为元字符,简言之,元字符就是描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息进行描述。

常见的元字符有:

d:匹配任意数字,等价于 [0-9]

D:匹配任意非数字字符;d 的补集

w:匹配任意基本拉丁字母表中的字母和数字,以及下划线;等价于 [A-Za-z0-9_]

W:匹配任意非基本拉丁字母表中的字母和数字,以及下划线;w 的补集

s:匹配一个空白符,包括空格、制表符、换页符、换行符和其他 Unicode 空格

S:匹配一个非空白符;s的补集

b:匹配一个零宽单词边界,如一个字母与一个空格之间;例如,/bno/ 匹配 "at noon" 中的 "no",/lyb/ 匹配 "possibly yesterday." 中的 "ly"

B:匹配一个零宽非单词边界,如两个字母之间或两个空格之间;例如,/Bon/ 匹配 "at noon" 中的 "on",/yeB/ 匹配 "possibly yesterday."中的 "ye"

t:匹配一个水平制表符(tab)

n:匹配一个换行符(newline)

r:匹配一个回车符(carriage return)

实例

上面罗列出了这么多正则表达式的语法和规则,可以在一定程度上帮助我们分析和理解一段正则表达式的作用,但是如何将这些规则组合并创造出有特定作用的表达式还需要我们自己多加练习,下面举几个例子来说明运用这些规则。

1. 匹配手机号码

我们先从比较简单的匹配手机号码开始。目前国内的手机号码是1(3/4/5/7/8)开头的 11 位数字,因此手机号码的正则可以分解为以下几部分:

以 1 开头:/^1/第 2 位为3、4、5、7、8中的一个:/[34578]/ 或 /(3|4|5|7|8)/剩余 3-11 位均为数字,并以数字结尾:/d{9}$/

组合起来即为 /^1[34578]d{9}$/ 或 /^1(3|4|5|7|8)d{9}$/,因

(编辑:应用网_丽江站长网)

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

    热点阅读