如何獲得完整的鏈接
'<a href="https://www.google.com/setprefdomain?prefdom=DE&prev=https://www.google.de/&sig=K_DtcF1dnV7Xn6g9Ir_3SUs6a6TiA=">'
從 'href="' 開始,到 'A="' 結束,但前提是該字串包含字串“domain”?
我真的不知道如何檢查是否包含字串“域”。
到目前為止,我的作業是:'/(?<=href=")(.*)(?=")/gi'。
uj5u.com熱心網友回復:
根據您所擁有的,只需在兩個“catch-all”規則之間添加所需的字串:'domain',如下所示:
注意:在我的示例中從第二個 url 中洗掉了“域”,以表明它只回傳第一個。
const str = `
<a href="https://www.google.com/setprefdomain?prefdom=DE&prev=https://www.google.de/&sig=K_DtcF1dnV7Xn6g9Ir_3SUs6a6TiA=">
<a href="https://www.google.com/setpref?prefdom=DE&prev=https://www.google.de/&sig=K_DtcF1dnV7Xn6g9Ir_3SUs6a6TiA=">
`;
const regex = /(?<=href=")(.*domain.*)(?=")/gim;
const found = str.match(regex);
console.log(found);
uj5u.com熱心網友回復:
我認為@jscrip 的回答可能是最直接的方式。或者,您可以在匹配正則運算式之前檢查字串是否包含字串“域”。例如:
let str = '<a href="https://www.google.com/setprefdomain?prefdom=DE&prev=https://www.google.de/&sig=K_DtcF1dnV7Xn6g9Ir_3SUs6a6TiA=">'
let href = str.includes('domain') ? str.match(/(?<=href=").*(?=")/)[0] : 'Not valid'
console.log(href)
uj5u.com熱心網友回復:
const string =
'<a href="https://www.google.com/setprefdomain?prefdom=DE&prev=https://www.google.de/&sig=K_DtcF1dnV7Xn6g9Ir_3SUs6a6TiA=">';
let url = string.match(/href="(?<url>.*domain.*)"/i);
console.log(url.groups.url);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/448826.html
標籤:javascript 正则表达式 细绳 子串
