主頁 > 知識庫 > 利用正則表達(dá)式提取固定字符之間的字符串

利用正則表達(dá)式提取固定字符之間的字符串

熱門標(biāo)簽:科大訊飛語音識別系統(tǒng) Mysql連接數(shù)設(shè)置 電子圍欄 服務(wù)器配置 團(tuán)購網(wǎng)站 阿里云 Linux服務(wù)器 銀行業(yè)務(wù)

前言

在JS的正則零寬斷言匹配中,只支持前瞻匹配,不支持后瞻。這就尷尬了,因為在業(yè)務(wù)當(dāng)中,我們大多時候是知道了要目標(biāo)數(shù)據(jù)的前后綴字符串,但是并不想連同前后綴一起獲取。

為了模擬后瞻,我想,要不就用笨方法,先將前后綴字符串一同提取,然后再講前后綴字符串一同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;
}

//轉(zhuǎn)義影響正則的字符
function encodeReg(source) {
 return String(source).replace(/([.*+?^=!:${}()|[\]/\\])/g,'\\$1');
}

使用:

var a = '讓我們蕩起雙槳吧';
getInnerString(a, '讓我們', '吧'); // ['雙槳']

var b = '老總和不在辦公室,有事請留言給李秘書';
getInnerString(b, '有事請留言給', ''); // ['李秘書']

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • PHP提取字符串中的圖片地址[正則表達(dá)式]
  • JS正則表達(dá)式提取字符串中所有漢字的腳本
  • php使用正則表達(dá)式提取字符串中尖括號、小括號、中括號、大括號中的字符串
  • python利用正則表達(dá)式提取字符串

標(biāo)簽:大理 衡水 衢州 江蘇 廣元 棗莊 萍鄉(xiāng) 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用正則表達(dá)式提取固定字符之間的字符串》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266