somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【正規表現】一行に複数個現れるパターンをマッチする

なにかで囲まれたパターンが一行に複数個現れる場合、正規表現でマッチングさせるためのメモです。

可変部分

ぱっと思いつく正規表現ですと、以下のようになります。囲み文字を「」にします。

「.*」

よくある間違いです。.*は、最長・末尾までマッチしてしまうためです。

「?」

そこで、?を用いて.*の表れる回数を制御します。これで、」が出現するまでの1固まりの文字列(または空文字)になります。

正規表現は最長一致がデフォルトなため、?を使って最短一致を明示的に探すようにしなくてはならないという話でした。