JavaScript中的正则2

在上一篇文章中主要整理了下JavaScript中正则相关内容,为了以后方便查询先贴上一网上已经整理好的一这张图,主要包含了一些基础用法和一些转义字符的含义。这里为了强化下自己弱弱的正则还是把自己不太熟悉容易弄错的几个拿出来看看。

image.png
  1. ? 匹配前面的模式 0 或1次。 如果?紧跟在数量词 *、+、? 或 {}时会使数量词变为非贪婪,即匹配次数最小化; 否则匹配次数尽量最大化。
'helloworld'.match(/\w+?/g);    // ["h", "e", "l", "l", "o", "w", "o", "r", "l", "d"]
'helloworld'.match(/\w+/g);    // ["helloworld"]
  1. 非重复字符的匹配
// 这里是匹配img三个字符的随机组合但是不能够重复。
var reg = /^(?:([img])(?!.*\1))+$/g;
reg.test('igg'); // false

正则示意图

这里主要要注意的是 ?!?: 字符,?! 表示仅匹配不被指定跟随,?:匹配不会捕获匹配项。这些字符通常用在 () 中。

  1. 提取捕获到的字符
    有时候我们可以使用正则来提取匹配到的字符,一般可以使用字符串的replace方法。

例如:我想提取到字符串 https://www.jianshu.com/p/eca3143b80f0 中最后的eca3143b80f0这一串字符。通过正则可以使用下面的方法:

// 提取目标字符串中的 eca3143b80f0
var str = 'https://www.jianshu.com/p/eca3143b80f0';
var resStr = str.replace(/^[\w:\/\.]+\/(\w+)$/gi, '$1');
console.log(resStr);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容