std.regex.Regex

std.regexp.RegExpとはインターフェイスが変わったので書き換えてる.で,このRegexには親切なことにstatic opCallに前回とパターンと属性のペアが同じであればキャッシュを返すという機能があるんだけど,正直いらない.直近一回しか保持できないので,いくつかのパターンを使いまわすなら,結局自前でキャッシュを用意するしかない.なんでこんな中途半端な機能入れたんだろうか…?

追記

まだドキュメントが整備されてないので色々試してるんだけど,std.regexpにあったfindっぽいのがない.std.regexpと違って機能が分割されているのだけど,その分アクセスが面倒.特にマッチした位置とかはre.pmatch[0].startIdxじゃないとアクセスできない気がする(それかm.src - m.hit.lengthとか).Capturesを使うことで色々マッチした結果を取り出せるのだけど,これはRegexMatchと違ってメンバがprivateなのでアクセス出来ない.うーん,これはもう少し情報が整うのを待つべきか?

追追記

RegexMatchが無駄に大きい気がする.srcとかsrc_indexがあるんだから使いまわせるのかと思いきや,アクションがprivateで生成時しか使えない.うむむ.