修改 本地 IP 及 正则表达式 test exec match 的区别

修改 IP

1.打开 "打开网络和共享中心"

2.打开 "更改适配器设置"

3.打开 "本地连接" 属性

4.修改 "协议版本 4"

 

正则表达式

1. regExp.test(string)
  该方法最简单,在string中找到匹配regExp的字符串则返回true,没找到匹配的字符串则返回false

 

1
2
var reg = /^1(3|4|5|7|8)\d{9}$/g;  // 正则
var result = reg.exec('13012345678'); // true or false

 

2. regExp.exec(string)
  当regExp没有全局标志时,其返回值为字符串数组:数组的第0号元素为刚匹配到的字符串,如果regExp有子表达式,则数组第1号元素为regExp的第一个子表达式,第2号元素为regExp的第二个字表达式...以此类推。在上例中如果
  patt = new RegExp('f(\\d)(\\d)','g');则 ret_exec 将为字符串数组:['f12','1','2']。
  在设置g属性后,虽然匹配结果不受g的影响,返回结果仍然是一个数组(第一个值是第一个匹配到的字符串,以后的为分组匹配内容),但是会改变index和lastIndex等的值,将该对象的匹配的开始位置设置到紧接这匹配子串的字符位置,当第二次调用exec时,将从lastIndex所指示的字符位置开始检索。同样match方法在设置了g属性后,也会改变index和lastIndex的值,但是是一次性的。无法像exec那样能逐过程累积,因此无法累积获取下一次检索的位置。

1
2
var reg = /^1(3|4|5|7|8)\d{9}$/g; // 正则
var result = reg.exec('13012345678');  // ['',''] 或 null<br>console.log(result);

3. string.match(regExp)
  该方法比exec简单一些,因为它不用考虑regExp的lastIndex属性。同样,也需要分两种情况(全局匹配与非全局匹配)
  当regExp没有全局标志时,返回值与调用exec一样,返回一个数组,数组的第0号元素为刚匹配到的字符串,如果regExp有子表达式,则数组第1号元素为regExp的第一个子表达式,第2号元素为regExp的第二个字表达式...以此类推。主意该数组同时还有2个属性:input是输入的字符串string,index是当前匹配的字符串第一个字符在input中的位置。
  当regExp有全局标志(g选项)时,很简单,也符合我们的理解:返回所有匹配到的字符串组成的数组。这是标准数组,没有input属性,也没有index属性。返回值数组中除了匹配到的字符串没有任何其他信息。

1
2
3
var reg = /^1(3|4|5|7|8)\d{9}$/g; // 正则
var result = '13012345678'.match(reg); // [''] 或 null
console.log(result);

posted @   每天都要进步一点点  阅读(331)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
阅读排行:
· 2025成都.NET开发者Connect圆满结束
· 后端思维之高并发处理方案
· 千万级大表的优化技巧
· 在 VS Code 中,一键安装 MCP Server!
· 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析
点击右上角即可分享
微信分享提示