深圳营销网站建设公司哪家好,网页游戏开发语言,深汕特别合作区失败,网站权重有什么用我们测试正则表达式是否正确的方法有很多#xff0c;例如通过正则表达式找到拼配的字符串#xff1a;
在vscode编辑器中点击搜索框中的第三个按钮就可以实现#xff1a; 或者 在浏览器中的控制台也可以实现#xff1a; 我们可以通过下面的在线网站来测试你写的正则是否正确…我们测试正则表达式是否正确的方法有很多例如通过正则表达式找到拼配的字符串
在vscode编辑器中点击搜索框中的第三个按钮就可以实现 或者 在浏览器中的控制台也可以实现 我们可以通过下面的在线网站来测试你写的正则是否正确----推荐使用
https://regex101.com/
下面是网站截图使用方法 下面来正式学习正则表达式
一、限定符
1、限定符--问号
used?
这个问号代表它前面这个字符d需要出现0次或者1次也就是d这个字符可有可无
可以看到used? 可以匹配到 use或者used 2、限定符--星号 *
ab*c
他会去匹配0个或多个字符代表着b可以没有也可以出现多次 3、限定符--加号
abc
他会匹配出现1次以上的字符也就是匹配b出现1次或1次以上的字符 4、限定符精确匹配--{}
ab{6}c
我们要指定这里b出现的次数为6次就在花括号里面写上6 ab{2,6}c
当然花括号也允许我们输入一个范围。比如我们希望字符出现的次数为2到6之间此时代表得是包含2和6的
ab{2,6}c ab{2,}c
还有这种写法代表匹配的是b的次数为2次以上的。 注意我们上面讲的都是匹配的单个字符想匹配多个字符怎么办
答将多个字符用括号括起来再加上限定符去匹配。 二、“或” 运算
a (cat | dog)
注意括号必不可少 三、字符类
[abc]
这里方括号里面的内容代表要求你匹配的字符只能取自于他们所以只要包含他们其中的一个就会匹配上 另外我们可以在中括号中指定字符的范围
[a-z]
代表所有的小写英文字符 [a-zA-Z0-9]
匹配的是小写a-z以及大写A-Z以及数字的字符 脱字符尖号 ^
如果我们在方括号前面写一个尖号脱字符则代表要求匹配除了尖号后面列出的以外的字符
[^0-9]
代表所有的非数字字符包括换行符 四、元字符
正则表达式中的大多数元字符都以反斜杠开头
\d
数字字符等同于[0-9] \w
代表单词字符英文、数字及下划线 \s
空白符包含Tab和换行符 \D
与小写d相反代表非数字字符 \W
代表非单词字符 \S
代表非空白字符 \b
代表单词的开头或结尾也就是单词的分界处 句点 .
代表任意字符但不包含换行符 特殊字符 尖号^
会匹配行首的ad 特殊字符 美元符$
会匹配行尾的ad 五、贪婪与懒惰匹配
例如我们想要匹配span的前后标签
有人说这么写 此时我们可以看到这样匹配会把整个span标签匹配起来
原因是因为句点符号会匹配尽可能多的字符所以我们加上问号问号代表出现0次或者1次
这样就匹配成功了。 接下来来看一下简单的实例
1、颜色值匹配
匹配出所有颜色中十六进制的RGB颜色值
/#[a-fA-F0-9]{6}\b/
解析因为十六进制都是a-f之间的值包含大小写并且是6位接着我们用\b来表示单词的结尾 2、IP地址匹配
\d会匹配任何长度大于1的数字
\.代表句点这个符号因为句点在正则中是特殊的字符因此需要反斜杠转义 此时我们看到还匹配出一个错误的ip因为ip都是0-255的数字
所以上面的方案不可行看如下方案我们按位匹配
25[0-5] 第一种开头是25第三位肯定是0-5之间
2[0-4]\d 第二种开头是2第二位是0-4那第三位可以取0-9之间任意的数用\d代替
[01]\d\d 第三种开头是0或者1那第二位和第三位可以取0-9的任意数都用\d代替
我们知道ip地址每一部分都可以是两位或者一位所以我们在第三种情况开头和结尾都加上问号即可[01]?\d\d?
数字部分已经匹配好了接下来匹配句点
(25[0-5]|2[0-4]\d|[01]?\d\d?)\.)
因为句点是只有三个所以我们对于加上句点的正则用{3}只限制前三部分最后一部分复制前面的即可
\b((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b 这样就筛选好啦成功的将256.1.1.0这个不符合要求的ip过滤掉。
总结 你学会啦吗~