当前位置:首页 > 日记 > 正文

利用正则表达式提取固定字符之间的字符串

利用正则表达式提取固定字符之间的字符串

前言

在JS的正则零宽断言匹配中,只支持前瞻匹配,不支持后瞻。这就尴尬了,因为在业务当中,我们大多时候是知道了要目标数据的前后缀字符串,但是并不想连同前后缀一起获取。

为了模拟后瞻,我想,要不就用笨方法,先将前后缀字符串一同提取,然后再讲前后缀字符串一同replace为空字符串。于是就有了下面这个简单的方法,但确实很实用:

示例代码如下

// 提取固定字符之间的字符串function getInnerString(source, prefix, postfix) { var regexp = new RegExp(encodeReg(prefix) + '.+' + encodeReg(postfix), 'gi'); var matches = String(source).match(regexp); var formatedMatches = _.map(matches, value => {  return value   .replace(prefix, '')   .replace(postfix, ''); }); return formatedMatches;}//转义影响正则的字符function encodeReg(source) { return String(source).replace(/([.*+?^=!:${}()|[\]/\\])/g,'\\$1');}

使用:

var a = '让我们荡起双桨吧';getInnerString(a, '让我们', '吧'); // ['双桨']var b = '老总和不在办公室,有事请留言给李秘书';getInnerString(b, '有事请留言给', ''); // ['李秘书']

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

相关文章

如何在电话簿中完成

如何在电话簿中完成

电话簿,如何在,电脑软件,现在,用户对智能手机的知道如果通讯录、短信、图片存储在SD,如果他们被删除,他们可以通过普通的数据恢复软件恢复。如果数据是存储在手机内存,一般的数据恢复软件(EasyRecovery)无法收回,应该做些什么 现在我分享一个软件…

win10彩色标题栏的设置方法

win10彩色标题栏的设置方法

设置,方法,标题栏,彩色,电脑软件,Win10 TH2中微软应用户要求带回了彩色标题栏,标题栏颜色和系统主题颜色是相一致的,意味着需要同时开启开始菜单、任务栏以及操作中心中的背景颜色。在默认黑色主题下,标题栏依然是“惨白”。如果你…

jQuery中过滤器的基本用法示例

jQuery中过滤器的基本用法示例

过滤器,示例,电脑软件,jQuery,本文实例讲述了jQuery中过滤器的基本用法。分享给大家供大家参考,具体如下:HTML正文:<input type="button" id="b1" value="偶数行红色"><br><input type="button" id="b2" value="奇数行绿色"><br><…

Photoshop如何快速的给美女头像柔

Photoshop如何快速的给美女头像柔

头像,快速,美女,电脑软件,Photoshop,原图:效果图:主要过程:先复制一个图层在复制图层,点击滤镜&mdash;杂色---去斑;重复三次按住&ldquo;ctrl&rdquo;添加黑色蒙版,选择画笔在需要磨皮的地方涂抹,效果稍加处理这样一张图片的磨皮就完成了,是不是非常…

在当前域或工作组中没有可用的终端

在当前域或工作组中没有可用的终端

服务器,终端,解决办法,组中,许可证,服务器激活了终端授权还出现当前域或工作组中没有可用的终端服务器许可证服务器当前域或工作组中没有可用的终端服务器许可证服务器注册正确license server以后,可以到注册表中查看终端服务器和终端授权…

创建、切换、合并和删除Git分支的

创建、切换、合并和删除Git分支的

分支,删除,合并,摘要,电脑软件,首先,看看现有的分支机构。 看看现有的分支:Git分支命令; Git的分支 从结果可以看出,师父只有一个分支。 两。创建一个分支 创建一个分支:分支的名称,你可以创建一个分支,你创建一个分支可以看到分支后,当前使用的…

JDBC连接mysql处理中文时乱码解决

JDBC连接mysql处理中文时乱码解决

连接,乱码解决,中文,详解,办法,JDBC连接mysql处理中文时乱码解决办法详解近日,整合的项目需要跟一个比较老版本的mysql服务器连接,使用navicat查看,发现此mysql服务器貌似没有设置默认编码,而且从操作此mysql的部分php文件看,应该是使用的gb2312…

允许所有主机访问的MySQL方法

允许所有主机访问的MySQL方法

方法,主机,电脑软件,MySQL,1。MySQL库中用户表中记录的主机字段值被更改为%。奇怪的是,有必要用以下语句设置密码 2。更新用户设置密码=密码(123456); 三.执行立即刷新权限命令立即生效。 以上MySQL允许所有主机访问方法可以分享给你的萧边。…

vue中计算属性(computed)、methods和

vue中计算属性(computed)、methods和

计算,属性,区别,电脑软件,vue,前言本文主要给大家介绍了关于vue中计算属性(computed)、methods和watched之间的区别,分享出来供大家参考学习,下面来一起看看详细的介绍:计算属性 和普通属性一样是在模板中绑定计算属性的,当data中对应数据发生改…

怎么把qq隐藏起来

怎么把qq隐藏起来

电脑软件,qq,有时候我们登录QQ号后,不希望别人在屏幕右下角看见qq的企鹅标志头像,或不想被频繁闪动的qq信息通知打扰。那我们可以想办法把qq图标隐藏起来,下面小编和大家分享一下隐藏任务栏里qq图标的方法,希望对大家有用。qq在任务栏隐藏设置…

js传播事件,取消事件默认行为,并防止

js传播事件,取消事件默认行为,并防止

事件,默认,取消,电脑软件,js,1的返回值。事件处理程序 在一般情况下,返回值false告诉浏览器不执行与该事件相关的默认动作。例如,表单的提交按钮的onclick事件处理程序可以阻止浏览器提交表单通过返回false,又作为一个标签的onclick事件处理…

PS图象处理软件初学者直工具视频教

PS图象处理软件初学者直工具视频教

工具,图象,初学者,处理软件,视频教学,过滤器主要是用来实现图像的特效。它已经在PS图象处理软件的奇妙的作用。过滤器的操作很简单,但很难真正使用它。过滤器通常需要联合使用相同的信道,层,以达到最佳的艺术效果。如果你想将过滤器应用到最合…