以下の記事の中で重要と思ったことを抜粋
[正規表現] .*?は最短マッチではない
特定の文字を含まない表現にマッチさせる方法
例:[^Aa]*
Aとaを含まない表現にマッチ
<<<hoge>>>
の<hoge>
部分にマッチさせる方法
<[^<>]*>
特定の文字列を含まない表現にマッチさせる方法
(?:(?!文字列1|文字列2).)*
または
((?!文字列1|文字列2).)*
マッチさせるだけなら?:は無くても良い または
((?!(文字列1|文字列2)).)*
かっこがあっても良い
文字列1と文字列2を含まない表現にマッチ
<em>あ<em>いうえ</em>お</em>
の<em>いうえ</em>
部分にマッチさせる方法
<em>((?!<em>|</em>).)*</em>