Techioz Blog

肯定的な先読みは最初の出現で停止しない

概要

正規表現を使用します

(?<=Charset:\s).+(?=<br\/>) 

次のデータ (データに改行文字はありません。見栄えを良くしました) で Charset 文字列をキャプチャします。

<div class="box_t">Parameters</div>
<div class="box_c">Charset: i763zLFYKBqVs@nZ8PyO}N9<br/>
Input Base: 23<br/>Solution Base: 19<br/>
Timelimit: 3.1416 seconds<br/></div>

しかし、私の試合は結局、

i763zLFYKBqVs@nZ8PyO}N9<br/>
Input Base: 23<br/>
Solution Base: 19<br/>
Timelimit: 3.1416 seconds

肯定的な先読みは最初の発生後も止まらなかったようです。それを止める方法はありますか?

解決策

簡単な方法は、貪欲でない演算子を使用することです: Change .+ to .+?

(?<=Charset:\s).+?(?=<br\/>)