2017-03-21 7 views
2

"ABCD"、 "text1"、 "text2"の後に最初のhrefを見つけるにはjs regexが必要です。具体的な単語の後に正規表現を見つける

+2

私はこの正規表現がうまくいくはずだと思います: '^。*?ABCD。*?href ="(。*?) "。* $ $ –

+0

実際にはありませんhttps://regex101.com/r/tbliia/1 –

+1

いいえRegex101はその正規表現をそれぞれの行に適用しています。あなたのJSコードでは、正規表現は改行を文字列内の他の文字として扱うべきです。 –

答えて

2

を、私は正式な答えを掲載している@ G0dsquadの提案で。私は以下の使用正規表現パターンは次のとおりです。私は入力で改行を剥ぎ取ら

^.*?ABCD.*?href="(.*?)".*$ 

var input = "<a href=\"\">ABCD</a><a href=\"text1\">ABCD</a><a href=\"text2\">ABCD</a>"; 
 
var regex = /^.*?ABCD.*?href="(.*?)".*$/g; 
 
var match = regex.exec(input); 
 
console.log(match[1]);

注1行にすべてを詰め込むします。しかし、改行文字を追加しても、正規表現の動作は変わるべきではありません。また、Regex101は、非常に便利なツールですが、それぞれの行に正規表現を適用するように見えますが、これはあなたのユースケースではありません。

2

あなたは非常に具体的ではありませんが、この

>\w+<[^h]*href="([^"]*)" 

は、あなたが探しているものに近いものでなければなりません。

注:完全一致ではなく最初の取得グルー​​プを取得するとします。

Live demo([ツール]をクリックします - >リストグループをチェックするために)

+0

単語ABCDだけが必要な場合は、w +をその単語に置き換えます – MaanooAk

関連する問題