JS前向后瞻正则表达式定义与用法示例


Posted in Javascript onDecember 27, 2016

本文实例讲述了JS前向后瞻正则表达式定义与用法。分享给大家供大家参考,具体如下:

定义

x(?=y) 匹配'x'仅仅当'x'后面跟着'y'.这种叫做正向肯定查找。

比如,/Jack(?=Sprat)/会匹配到'Jack'仅仅当它后面跟着'Sprat'。/Jack(?=Sprat|Frost)/匹配‘Jack'仅仅当它后面跟着'Sprat'或者是‘Frost'。但是‘Sprat'和‘Frost'都不是匹配结果的一部分。

x(?!y) 匹配'x'仅仅当'x'后面不跟着'y',这个叫做正向否定查找。

比如,/\d+(?!\.)/匹配一个数字仅仅当这个数字后面没有跟小数点的时候。正则表达式/\d+(?!\.)/.exec("3.141")匹配‘141'但是不是‘3.141'

form https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

前面这篇https://3water.com/article/84839.htm 解释的比较好懂。

例子:

<html>
<head> 
</head> 
<body>
  <input id="test" type="text" value="" />
  <input id="test" type="text" value="" />
  <input id="test" type="text" value="" />
  <input id="test" type="text" value="" />
  <input id="test" type="text" value="" />
  <script>
  var testStr = "windows 95"
  /* 1 - 不带子表达式匹配 */
  var testReg = /^windows .*$/
  var result = testStr.match(testReg);
  console.log("/^windows .*$/="+result) // /^windows .*$/=windows 95
  /* 2 - 带子表达式匹配 */
  var testReg = /^windows (.*)$/
  var result = testStr.match(testReg);
  console.log("/^windows (.*)$/="+result) // /^windows (.*)$/=windows 95,95
  /* 3 - 带子表达式,不记录其匹配结果 */
  var testReg = /^windows (?:.*)$/
  var result = testStr.match(testReg);
  console.log("/^windows (?:.*)$/="+result) // /^windows (?:.*)$/=windows 95
  /* 4 - 前瞻匹配,匹配位置,正匹配 */
  var testReg = /^windows (?=95)95$/
  var result = testStr.match(testReg);
  console.log("/^windows (?=.*)$/="+result) // /^windows (?=.*)$/=windows 95
  /* 5 - 前瞻匹配,匹配位置,负匹配 */
  var testStr = "windows me"
  var testReg = /^windows (?!95)me$/
  var result = testStr.match(testReg);
  console.log("/^windows (?!\d*)$/="+result) // /^windows (?!d*)$/=windows me
  </script>
</body>
</html>
Javascript 相关文章推荐
两种方法基于jQuery实现IE浏览器兼容placeholder效果
Oct 14 Javascript
原生js和jQuery写的网页选项卡特效对比
Apr 27 Javascript
浅谈javascript事件取消和阻止冒泡
May 26 Javascript
JavaScript实现按键精灵的原理分析
Feb 21 Javascript
javascript 操作cookies详解及实例
Feb 22 Javascript
几行js代码实现自适应
Feb 24 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
May 08 Javascript
Node.js中DNS模块学习总结
Feb 28 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 Javascript
VUE渲染后端返回含有script标签的html字符串示例
Oct 28 Javascript
原生JS与CSS实现软件卸载对话框功能
Dec 05 Javascript
vuex的使用和简易实现
Jan 07 Vue.js
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
Dec 27 #Javascript
TypeScript学习之强制类型的转换
Dec 27 #Javascript
如何利用JQuery实现从底部回到顶部的功能
Dec 27 #Javascript
详解js的六大数据类型
Dec 27 #Javascript
javascript ASCII和Hex互转的实现方法
Dec 27 #Javascript
谈谈第三方App接入微信登录 解读
Dec 27 #Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
Dec 27 #Javascript
You might like
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
一个PHP数组应该有多大的分析
2009/07/30 PHP
PHP中使用unset销毁变量并内存释放问题
2012/07/05 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
Python实现基本线性数据结构
2016/08/22 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
全球虚拟主机商:HostGator
2017/02/06 全球购物
春节活动策划方案
2014/01/24 职场文书
应届生求职信
2014/05/31 职场文书
采购内勤岗位职责
2015/04/13 职场文书
2015年维修工作总结
2015/04/25 职场文书
2016七夕情人节感言
2015/12/09 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python