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 相关文章推荐
document.getElementById获取控件对象为空的解决方法
Nov 20 Javascript
node.js中的querystring.escape方法使用说明
Dec 10 Javascript
jQuery实现的漂亮表单效果代码
Aug 18 Javascript
浅析JS原型继承与类的继承
Apr 07 Javascript
深入分析javascript中的错误处理机制
Jul 17 Javascript
jQuery可见性过滤选择器用法示例
Sep 09 Javascript
AngularJS常见过滤器用法实例总结
Jul 06 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
Jan 08 Javascript
学习Vue组件实例
Apr 28 Javascript
在微信小程序中保存网络图片
Feb 12 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
Aug 17 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
Jun 08 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
PHP实现动态柱状图改进版
2015/03/30 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
浅谈JS继承_借用构造函数 &amp; 组合式继承
2016/08/16 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
Python 变量类型详解
2018/10/10 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
python实现磁盘日志清理的示例
2020/11/05 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
如何强制垃圾回收
2015/10/06 面试题
中学生自我鉴定
2014/02/04 职场文书
2015年校长新年寄语
2014/12/08 职场文书
稽核岗位职责范本
2015/04/13 职场文书
绿色环保倡议书
2015/04/28 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫