2017-08-06 25 views
1

特定の文字列の後に表示される値を保存します。正規表現の後に値を見つけるための正規表現

次のようにテキストである:上記のテキストにおいて

ug=595ad8543534510555d9; ugs=1; s_ppv=54353; optimizelyEndUserId=orwe535908r0.58354354373; countryCode=US; geoData=new york|NY|11432|US|NA; _uetsid=_u5435fgdac3e; _t_tests={"[dasds59ec]":"B","[2fdfsde8cd]":"A","lift_exp":"m"}; 

、フィールドの値は、異なるユーザのために変更されます。タグ名は同じままです。私はジオデータの値を取得したいと思います。だから、の後に来るすべてのものgeoData =。上記のデータで は、私が戻って取得したい:

new york|NY|11432|US|NA

私は/geoData=[^;]*/を思い付いた、しかし、それは私にgeoData=new york|NY|11432|US|NAを与えます。

geoData=の部分を私の正規表現から除外して、=という記号の後の値を私に教えてください。

答えて

2

あなたはキャプチャグループ(あなたが括弧内に残しておきたい部分をラップ)を利用する必要がありますgeoData=([^;]*)/

const match = 'ug=595ad8543534510555d9; ugs=1; s_ppv=54353; optimizelyEndUserId=orwe535908r0.58354354373; countryCode=US; geoData=new york|NY|11432|US|NA; _uetsid=_u5435fgdac3e; _t_tests={"[dasds59ec]":"B","[2fdfsde8cd]":"A","lift_exp":"m"};'.match(/geoData=([^;]*)/); 
 
console.log(match[1]);

+0

ありがとうございました、それはまさに私が探していたものでした! – ValyriA

1

それともreplaceメソッドを使用します。

var text = 'ug=595ad8543534510555d9; ugs=1; s_ppv=54353; optimizelyEndUserId=orwe535908r0.58354354373; countryCode=US; geoData=new york|NY|11432|US|NA; _uetsid=_u5435fgdac3e; _t_tests={"[dasds59ec]":"B","[2fdfsde8cd]":"A","lift_exp":"m"};' 
 

 
console.log(
 
    text.replace(/.*geoData=([^;]+).*/, "$1") 
 
)

関連する問題