範囲指定

onig_search()では対象となる文字列に関して、str, end, start, rangeの四個の引数を渡すようになっている。(str, end)が文字列全体の範囲で、(start, range)が検索範囲。検索範囲と言っても、マッチング開始位置がその範囲内にあれば良いという意味で、マッチング終了位置は範囲外になっても構わない。

これを、マッチング終了位置も含めた範囲に仕様変更して欲しいという依頼を受けた。数年前に、OgreKitの作者である園部さんからも同じような依頼を受けたと思う。そのときはGNU regexの仕様に合わなくなるという理由で断ったが、今は変更しても構わないような気がしている。