置換を使って、 2番目のXと3番目のXの間の文字列を取得する 置換前 置換後
ABCXDXEFXGHXIJ ABCXXDEFXGHXIJ XABCDEXFXGHXIJ
^([^X]*X){2}([^X]*)X.*$ を \2 に置換 別解 ^(.*?X){2}(.*?)X.*$ を \2 に置換
否定文字クラスと量指定子を組み合わせる方法や、 最小マッチと量指定子を組み合わせる方法があります