2016-08-16 21 views
1

私は以下のような文字列を持っています。文字列のさまざまな部分を抽出したいと思います。最初の部分は、接頭辞MAC_の後ろのMACHINE_までのすべての文字を取得し、次にMACHINE_の後のすべての文字である2番目の部分を抽出します。JavaScript一致を使用して文字列の一部を抽出する

MAC_00:14:00:00:00:05MACHINE_I50 

文字列

var id = String(text.match(/MAC_/g)); 
var device= String(text.match(/MACHINE_/g)); 

を試みたが、彼らはちょうど私のテキストMAC_とMACHINE_を与えます。

+2

[ 'MAC_(。*?)MACHINE_(。*)'](https://regex101.com/r/vS2dF4/1)。第1および第2の捕捉されたグループをチェックする。 – Tushar

答えて

3

あなたは

/MAC_(.*?)MACHINE_(.*)/ 

regex demo

パターンがの詳細を参照してください使用することができます。

  • MAC_(.*?) - MAC_と(グループ1)の任意の0+数として改行以外の文字できるだけ最初のものまで...
  • MACHINE_(.*) - MACHINE_(グループ2)残りの行。

var re = /MAC_(.*?)MACHINE_(.*)/; 
 
var str = 'MAC_00:14:00:00:00:05MACHINE_I50'; 
 
var m = str.match(re); 
 
if (m) { 
 
    console.log(m[1]); 
 
    console.log(m[2]); 
 
}

+0

テクニックは:あなたが必要としないものと一致し、必要なものをキャプチャします。 '('と ')を動かすことはパターンをあらかじめ調べることに過ぎません。 –

+1

Yayy! 。 。 。 。 。 。 – Tushar

関連する問題