利用正規表示式提取固定字元之間的字串
前言
在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, '有事請留言給', ''); // ['李祕書']
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015107/viewspace-2870906/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 正規表示式提取指定字元之間字串字元字串
- 正規表示式獲取兩個字元之間的字串資訊字元字串
- 用正規表示式提取字串中的字元(包含數字)字串字元
- 正規表示式之字元組字元
- Java正規表示式提取字元的方法例項Java字元
- 利用正規表示式刪除提取字串中文字內容字串
- 常用的正規表示式大全(數字、字元、固定格式)字元
- 正規表示式如何匹配不包含指定字元的字串字元字串
- 正規表示式 ^元字元字元
- 正規表示式 $ 元字元字元
- 正規表示式元字元字元
- 正規表示式 字元和字元類字元
- 字串——正規表示式匹配字串
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串
- 正規表示式 \v 元字元字元
- 正規表示式 \f 元字元字元
- 正規表示式 \B 元字元字元
- 正規表示式 \xnn元字元字元
- 正規表示式 \b元字元字元
- 正規表示式 \D 元字元字元
- 正規表示式 \s 元字元字元
- 正規表示式 \r 元字元字元
- 正規表示式 \n 元字元字元
- 正規表示式 \W元字元字元
- 正規表示式 \w 元字元字元
- 正規表示式 \d元字元字元
- 正規表示式 轉義字元字元
- 正規表示式 \t元字元字元
- 正規表示式 \0元字元字元
- 正規表示式 點(.)元字元字元
- 正規表示式 \t 元字元字元
- 正規表示式[\b]元字元字元
- 正規表示式元字元與普通字元字元
- C# 正規表示式提取字串中括號裡的值C#字串
- 演算法之字串——正規表示式匹配演算法字串
- Sublime Text提取正規表示式匹配的文字
- 正規表示式中常用的元字元字元
- 正規表示式需要轉義的字元字元