专栏首页cwl_Java前端基础-正则表达式(环视)

前端基础-正则表达式(环视)

第6章 环视

也叫 预查、断言、零宽断言。

正则表达式中,用于查找某些内容之前或者之后的东西,叫做环视。

环视通常也叫做预查、断言或者零宽断言。

1、正向肯定预查

也叫 顺序肯定环视

every(?=n) 匹配任何其后紧接指定字符串 n 的字符串。

	//匹配后面字符为10的win
	var str = "win7 win8 win10";
	var res = str.match(/win(?=10)/g);
	console.log(res); //["win"]

2、正向否定预查

也叫 顺序否定环视

every(?!n) 匹配任何其后没有紧接指定字符串 n 的字符串。

	//匹配后面字符不为10的win
	var str = "win7 win8 win10";
	var res = str.match(/win(?!10)/g);
	console.log(res); //["win", "win"]

(?!B)[A-Z]这种写法,其实它是[A-Z]范围里,排除B的意思,前置的(?!B)只是对后面数据的一个限定,从而达到过滤匹配的效果。

	var str = "abcd1234";
	var res = str.match(/(?!c)[a-z]/g);
	console.log(res); //["a", "b", "d"]

练习:从一堆图片地址中,找出符合条件的图片地址。

	var arr = [
		'img/20181013/a.jpg',
		'img/20181014/b.png',
		'image/20181014/a.jpg',
		'image/20181013/b.png',
		'20181013/c.png'
	];

匹配img开头的图片地址

/^img.*(jpg|png|gif)$/g

匹配不以image开头的图片地址

/^(?!image).*(jpg|png|gif)$/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前端基础-分组/捕获和反向引用

    子表达式 在正则表达式中,通过一对圆括号括起来的内容,我们就称之为“子表达式”。如: var reg = /\d(\d)\d/gi;

    cwl_java
  • JVM性能调优-Java程序员不可不知的对象创建底层步骤细节

    cwl_java
  • 前端基础-String 对象的正则方法

    在字符串中检索匹配正则表达式regex的子串,并替换为指定的字符串replacement;

    cwl_java
  • 我倒在了美团面试算法题:字符串大数相加

    对这个算法,首先要考虑的是,怎么来遍历这 2 个数,可以用 2 个指针,分别指向这 2 个数的尾部,边计算边向左移动。

    测试老树
  • guava:计算hash(md5,sha256,crc...)真是方便

    今天找到了guava计算md5的工具类,用起来真是很方便,返回结果可以用toString()转为String,也可以用asBytes()转为字节数组。 生成...

    用户1148648
  • PHP面对对象程序设计

    类的封装是通过public、private、protected等关键字来实现的,可以很好地限制类中的属性和方法的访问权限。

    白胡杨同学
  • 第三周作业HAproxy文件操作

    1 #coding:utf-8 2 #Author:Mr Zhi 3 """ 4 HAproxy配置文件操作: 5 6 1. 根据用户输入输出对应...

    用户1679793
  • PowerShell静态分析(Part I)

    本文分为三个部分,主要介绍了一种实用的powershell脚本静态分析方法,并基于独立于平台python脚本来执行此任务。

    FB客服
  • 一文彻底搞清楚 Material Design

    Material Design 是 Google 在 2014 年 I/O 大会上发布的一种新的设计规范。这种设计风格给 Android UI 设计带来了很多...

    开发者
  • js对象属性的getter和setter

    版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/articl...

    空空云

扫码关注云+社区

领取腾讯云代金券