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 相关文章推荐
JavaScript使用cookie
Feb 02 Javascript
js类中的公有变量和私有变量
Jul 24 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
Jan 15 Javascript
JavaScript DOM基础
Apr 13 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
特殊日期提示功能的实现方法
Jun 16 Javascript
基于Vue2的移动端开发环境搭建详解
Nov 03 Javascript
JavaScript实现公历转农历功能示例
Feb 13 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
Sep 02 Javascript
vue2 前端搜索实现示例
Feb 26 Javascript
小程序自动化测试的示例代码
Aug 11 Javascript
如何在vue 中引入使用jquery
Nov 10 jQuery
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操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
javascript 处理事件绑定的一些兼容写法
2009/12/24 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
详解node.js 事件循环
2020/07/22 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
Python 数据结构之堆栈实例代码
2017/01/22 Python
Python 数据结构之队列的实现
2017/01/22 Python
pyenv命令管理多个Python版本
2017/03/26 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
python文件选择对话框的操作方法
2019/06/27 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
土木工程毕业生推荐信
2013/10/28 职场文书
女娲补天教学反思
2014/02/05 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
安全员岗位职责范本
2015/04/11 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis