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 相关文章推荐
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
Dec 02 Javascript
浏览器加载、渲染和解析过程黑箱简析
Nov 29 Javascript
javascript之Partial Application学习
Jan 10 Javascript
使用jquery实现简单的ajax
Jul 08 Javascript
Jquery实现自定义tooltip示例代码
Feb 12 Javascript
JS实现的一个简单的Autocomplete自动完成例子
Apr 16 Javascript
jQuery中:first-child选择器用法实例
Dec 31 Javascript
js鼠标点击图片切换效果代码分享
Aug 26 Javascript
JavaScript数组的一些奇葩行为
Jan 25 Javascript
一道常被人轻视的web前端常见面试题(JS)
Feb 15 Javascript
javascript 正则表达式去空行方法
Jan 24 Javascript
vue项目,代码提交至码云,iconfont的用法说明
Jul 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
德生9700DX电路分析
2021/03/02 无线电
在线短消息收发的程序,不用数据库
2006/10/09 PHP
PHP中PDO基础教程 入门级
2011/09/04 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
微信小程序实现展示评分结果功能
2019/02/15 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
vue中的使用token的方法示例
2020/03/10 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
Python模拟三级菜单效果
2017/09/11 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
历史学专业毕业生求职信
2013/09/27 职场文书
工程测量与监理专业应届生求职信
2013/11/27 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
2014年社区学雷锋活动总结
2014/03/09 职场文书
民主生活会剖析材料
2014/09/30 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
先进个人推荐材料
2014/12/29 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL