トップページに戻る    次の正規表現パズルへ    前の正規表現パズルへ

2-11 指定文字の指定番目の間の文字列を取得

正規表現パズル

置換を使って、
2番目のXと3番目のXの間の文字列を取得する

置換前


置換後


対象データ

ABCXDXEFXGHXIJ
ABCXXDEFXGHXIJ
XABCDEXFXGHXIJ


正規表現

^([^X]*X){2}([^X]*)X.*$
を
\2
に置換

別解

^(.*?X){2}(.*?)X.*$
を
\2
に置換


解説

否定文字クラスと量指定子を組み合わせる方法や、
最小マッチと量指定子を組み合わせる方法があります