正規表現を使って固定文字間の文字列を抽出します。


前言
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, '      ', ''); // ['   ']
締め括りをつける
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に一定の助けをもたらすことを望んでいます。もし疑問があれば、メッセージを残して交流してください。ありがとうございます。