最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年02月27日 14:29:43   作者:子匠_Zijor  
這篇文章主要給大家介紹了利用正則表達式提取固定字符之間的字符串,文中給出了詳細的示例代碼,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

在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í)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 解析正則表達式中的.*,.*?,.+?的含義

    解析正則表達式中的.*,.*?,.+?的含義

    這篇文章主要介紹了解析正則表達式中的.*,.*?,.+?的含義,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • js Abba逆向前瞻正則匹配實例

    js Abba逆向前瞻正則匹配實例

    這篇文章主要介紹了js Abba逆向前瞻正則匹配實例,主要是使用正則表達式的零寬斷言進行判斷,需要的朋友可以參考下
    2016-12-12
  • PHP 正則表達式 推薦

    PHP 正則表達式 推薦

    正則表達式,大家在開發(fā)中應(yīng)該是經(jīng)常用到,現(xiàn)在很多開發(fā)語言都有正則表達式的應(yīng)用,比如javascript,java,.net,php等等,我今天就把我對正則表達式的理解跟大家嘮嘮,不當(dāng)之處,請多多指教
    2012-03-03
  • Notepad+正則表達式使用方法舉例詳解

    Notepad+正則表達式使用方法舉例詳解

    使用正則表達式可以很好地完成很多繁瑣耗時的工作,下面這篇文章主要給大家介紹了關(guān)于Notepad+正則表達式使用方法的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • .NET正則基礎(chǔ)之平衡組

    .NET正則基礎(chǔ)之平衡組

    平衡組是微軟在.NET中提出的一個概念,主要是結(jié)合幾種正則語法規(guī)則,提供對配對出現(xiàn)的嵌套結(jié)構(gòu)的匹配,.NET是目前對正則支持最完備、功能最強大的語言平臺之一,而平衡組正是其強大功能的外在表現(xiàn),也是比較實用的文本處理功能
    2023-05-05
  • js正則表達式之input屬性($_)RegExp對象屬性介紹

    js正則表達式之input屬性($_)RegExp對象屬性介紹

    該屬性為RegExp的靜態(tài)只讀屬性,該屬性的值為與RegExp對象所描述的正則表達式進行匹配檢測的字符串,該屬性也可以表示成$_
    2012-10-10
  • JavaScript正則表達式校驗非零的正整數(shù)實例

    JavaScript正則表達式校驗非零的正整數(shù)實例

    本文分享了JavaScript正則表達式(^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$)校驗非零的正整數(shù)實例代碼,代碼簡單易懂,需要的朋友可以看下
    2016-12-12
  • 精通JS正則表達式(推薦)

    精通JS正則表達式(推薦)

    精通JS正則表達式,講的比較詳細,學(xué)習(xí)正則表達式的朋友可以參考下。
    2010-11-11
  • 正則表達式模式修正符 比如/esi

    正則表達式模式修正符 比如/esi

    下面列出了當(dāng)前在 PCRE 中可能使用的修正符。括號中是這些修正符的內(nèi)部 PCRE 名。修正符中的空格和換行被忽略,其它字符會導(dǎo)致錯誤。
    2010-07-07
  • 詳解Python3中的正則表達式的基本用法

    詳解Python3中的正則表達式的基本用法

    本文重點給大家介紹正則表達式的相關(guān)用法,正則表達式是處理字符串的強大的工具,它有自己特定的語法結(jié)構(gòu),有了它,實現(xiàn)字符串的檢索、替換、匹配驗證都不在話下
    2019-07-07

最新評論

牡丹江市| 邹平县| 元氏县| 金昌市| 冕宁县| 来安县| 南和县| 永川市| 同仁县| 游戏| 沂源县| 眉山市| 彝良县| 台东县| 繁峙县| 红安县| 泾川县| 台南县| 阿拉善右旗| 中卫市| 高阳县| 徐水县| 丰宁| 枣庄市| 清原| 两当县| 报价| 宣威市| 泸定县| 彭州市| 沾益县| 宁安市| 清水县| 肃南| 巍山| 鄂伦春自治旗| 将乐县| 石景山区| 内黄县| 临汾市| 安丘市|