Javascript 正则表达式以查找特定项后的值
我想保存在特定字符串之后出现的任何值 案文如下:Javascript 正则表达式以查找特定项后的值,javascript,regex,match,Javascript,Regex,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"}
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的值。所以,geoData=之后的所有内容。
在上面的数据中,我想返回:
纽约|纽约| 11432 |美国|纳
我提出了/geoData=[^;]*/
,然而,这给了我geoData=newyork | NY | 11432 | US | NA
如何将
geoData=
部分从正则表达式中排除,以便在=
符号后给出值?您应该使用捕获组(将要保留的部分括在括号中):geoData=([^;]*)/
const match='ug=595ad8543534510555d9;ugs=1;s_ppv=54353;optimizelyEndUserId=orwe535908r0.58354354373;countryCode=美国;地理数据=纽约|纽约| 11432 |美国|纳_uetsid=5435fgda3e_t_tests={[dasds59ec]:“B”,“[2fdfsde8cd]:“A”,“lift_exp:“m”}。匹配(/geoData=([^;]*)/);
console.log(匹配[1])代码>或使用替换方法:
var text='ug=595ad8543534510555d9;ugs=1;s_ppv=54353;optimizelyEndUserId=orwe535908r0.58354354373;countryCode=美国;地理数据=纽约|纽约| 11432 |美国|纳_uetsid=5435fgda3e_t_tests={[dasds59ec]:“B”,“[2fdfsde8cd]:“A”,“lift_exp:“m”};'
console.log(
text.replace(/.*geoData=([^;]+).*/,“$1”)
)
谢谢,这正是我想要的!