Rを使った文字列処理に関する質問です.

例えば

"XhogehogeY"

という文字列があったときに,
XとYを指定して"hogehoge"を取り出すにはどうしたら良いでしょうか?

教えて下さいお願いします.

追記-----------------------------------------------------------------------------------------
様々な回答ありがとうございます.
一旦は解決したのですが,文字列に日本語を含む場合にエラーが出たので改めて質問させてください.

文字列

"pogepoge開始:hogehoge終pogepoge終"

から"hogehoge"を取り出したいです.
しかし,

> str_extract("pogepoge開始:hogehoge終pogepoge終","(?<=開始:)(.*?)(?=終)")
[1] NA

として切り出そうとするとNAとなるのです.

> str_detect("pogepoge開始:hogehoge終pogepoge終","(?<=開始:)(.*?)(?=終)")
[1] TRUE

となっているので確かにマッチしているはずですが...

以下のように"始:"としたら切り出せました.

> str_extract("pogepoge開始:hogehoge終pogepoge終","(?<=始:)(.*?)(?=終)")
[1] "hogehoge"

しかし"始:"では他の文字列とマッチしてしまうので,"開始:"で切り出したいのです.