正規表現_(?<=hoge)

(?<=hoga)A

直前に hoga が存在する A にマッチする正規表現

言い方を変えると、
左側に hoga が存在するする A にマッチする正規表現
右側は( A(?=hoga) )。hoga が右側に存在する A にマッチ。
( 肯定の戻り読み )

 

ex)

(?<=ate)Food
左に ate がある Food にマッチする。
f:id:koshinRan:20170429015640j:plain

(?<=ate)
「ate」と「Food」の間にある空文字列にマッチ。
左に ate がある位置にマッチしている。
f:id:koshinRan:20170429015907j:plain
( F がマーカされているように見えるが、ate と F の間にある空文字に一致 )

 

 hoga(?<=fuga) の場合

「fuga が左側に存在する位置」の前に hoga が存在することを要請。
つまり、
fuga の最後に存在する hoga」という解釈。
※ fuga は hoga を内包する文字列

ex)

A(?<=FoodA)
「FoodA がある位置」の前にある「 A 」にマッチ。
f:id:koshinRan:20170429020420j:plain

 

 以上。