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 相关文章推荐
input、button的不同type值在ajax提交表单时导致的陷阱
Feb 24 Javascript
javascript encodeURI和encodeURIComponent的比较
Apr 03 Javascript
Javascript在IE和FireFox中的不同表现简析
Dec 03 Javascript
原生js实现类似弹窗抖动效果
Apr 02 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
Jan 11 Javascript
微信小程序中多个页面传参通信的学习与实践
May 05 Javascript
JS获取填报扩展单元格控件的值的解决办法
Jul 14 Javascript
weui框架实现上传、预览和删除图片功能代码
Aug 24 Javascript
angularjs路由传值$routeParams详解
Sep 05 Javascript
基于jquery的on和click的区别详解
Jan 15 jQuery
JavaScript中使用import 和require打包后实现原理分析
Mar 07 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
Jun 30 Javascript
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
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
jquery键盘事件使用介绍
2011/11/01 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
Python字符串格式化输出方法分析
2016/04/13 Python
Python实现的堆排序算法示例
2018/04/29 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
Java面试笔试题大全
2016/11/23 面试题
车间工艺员岗位职责
2013/12/09 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript
React列表栏及购物车组件使用详解
2021/06/28 Javascript