JS使用正则截取两个字符串之间的字符串实现方法详解


Posted in Javascript onJanuary 06, 2017

本文实例讲述了JS使用正则截取两个字符串之间的字符串方法。分享给大家供大家参考,具体如下:

一个最常用的场景 截取两个字符串中间的字符串

var str = "iid0000ffr";
var substr = str.match(/id(\S*)ff/);
alert(substr2);

你会发现逗号后面是你要的东西

/S*表示多个字符串

为什么想要的东西在逗号后,也就是数组第二个.

是因为match的返回数组,第一个表示匹配的字符串,这里是包括id ff的,结果是id0000ff

第二个是子正则表达式,什么是子正则表达式,()里面的内容就是子正则表达式,就是指\s*,这才是我们要的东西

我们还可以写复杂点,

var substr = str.match(/ab\S*d(\S*)ff/);

这个表示以ab开始d结尾的字符串 同ff字符串之间的字符串

其实,在高级语言里,我们会用一个叫数量词的概念

就是 (?=abc) 这表示以abc结尾的前面的字符串,但不包括abc

var str = "iid0000ffr";
var substr = str.match(/(\S*)(?=ff)/);
alert(substr2);

但你不能直接写

var substr = str.match(/(?=ff)/);

因为它只管逻辑,但不会输出.

这种东西叫 正向肯定预查 ,就是查***前面的字符串,很多高级语言里面还有叫"反向肯定预查",就是叫***后面的字符串,一般是这样写

?<=abc

不过可怜js不支持

Javascript 相关文章推荐
通过jquery实现tab标签浏览效果
Feb 20 Javascript
Javascript模块化编程(一)模块的写法最佳实践
Jan 17 Javascript
JQuery操作tr和td内容的方法实例
Mar 06 Javascript
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
May 13 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
Aug 02 Javascript
基于JavaScript实现的折半查找算法示例
Apr 14 Javascript
AngularJs 延时器、计时器实例代码
Sep 16 Javascript
深入浅析AngularJs模版与v-bind
Jul 06 Javascript
JS实现深度优先搜索求解两点间最短路径
Jan 17 Javascript
JavaScript实现Excel表格效果
Feb 07 Javascript
Angular8 简单表单验证的实现示例
Jun 03 Javascript
Vue 的 v-model用法实例
Nov 23 Vue.js
jQuery EasyUi 验证功能实例解析
Jan 06 #Javascript
jQuery编写网页版2048小游戏
Jan 06 #Javascript
利用JQuery实现datatables插件的增加和删除行功能
Jan 06 #Javascript
javascript正则表达式模糊匹配IP地址功能示例
Jan 06 #Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
Jan 06 #Javascript
使用BootStrap进行轮播图的制作
Jan 06 #Javascript
BootStrap便签页的简单应用
Jan 06 #Javascript
You might like
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
javascript URL编码和解码使用说明
2010/04/12 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
React中的render何时执行过程
2018/04/13 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Python常用随机数与随机字符串方法实例
2015/04/09 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
详解python tkinter 图片插入问题
2020/09/03 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
EJB的角色和三个对象
2015/12/31 面试题
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
企业治理工作自我评价
2013/09/26 职场文书
建筑学推荐信
2013/11/03 职场文书
药学专业个人自我评价
2013/11/11 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
反四风个人对照检查材料
2014/09/26 职场文书