正则:非获取匹配

版权声明:个人笔记,不喜勿喷 https://blog.csdn.net/qq_39571197/article/details/88584477

原理我一直理解错了(项目没出问题,真是个奇迹...)

 按照我的错误理解,下面的代码结果应该是"windowsabc",因为我用了(?:98)呀,应该是不获取内容的~

'i windows98abc end'.match(/windows(?:98)abc/); // 实际上是windows98abc

# 非获取匹配 ,其实这个是和分组有关的~

# 用match函数测试,正则有个命名分组的新特性,先不谈(浏览器还报错~)

const str = 'i windows98abc end';
let result = null; // 注意观察result
// 普通分组
result = str.match(/windows(98)abc/);

// 非捕获分组
result = str.match(/windows(?:98)abc/);

 

# 正则我就感觉几个断言,还有(?:)好玩点,断言有空再记录吧

 

 

没有更多推荐了,返回首页