正規表現 DLL

解決


Terry  2025-06-15 18:44:15  No: 152107  IP: [192.*.*.*]

いつもお世話になっています

Delphi2009 では SkRegExpW を微調整しながらずっと使ってきたのですが、
・「後ろ読み否定(?<!)」の中に「または|」があり、区切られた検索語句が1文字と2文字以上だと、1文字側の条件が無視される
・「または|」が2つ以上あるとき、最後尾以外の区切られた検索語句の2文字目に「0または1回?」があるものはヒットしない
・特定条件\Kがヒットしない
など色々とほころびが出てきまして
Delphi12.1 の TRegEx でテストしてみると問題ないので正規表現の処理部分だけ System.Regularexpressions を使って DLL を作成して 2009 で使ってみようと思い立ったのですが、やはりライセンス的に問題ありますでしょうか?

ライブラリの関係から 該当アプリが Delphi2009 を抜け出すことが出来ないのでそれくらいしかもう方法はないのかなと……
ほとんど作ったことがないので DLL を作成するにしても TMatchCollection なんかどんな形で実装すればいいのか見当もついていませんが

編集    削除
HFUKUSHI  2025-06-17 12:36:53  No: 152110  IP: [192.*.*.*]

DelphiでPerlRegExを使うということであれば、DEKOさんのこのページ、参考になりませんか?

正規表現の活用 (主に Delphi 2009 以降) [Delphi Programming]
https://ht-deko.com/tech064.html

最初の部分にSkRegExpのラッパークラスでSkRegExpとPerlRegExを切り替える方法がかかれています。

編集    削除
Terry  2025-06-17 22:04:54  No: 152111  IP: [192.*.*.*]

ありがとうございます。
2009 に PerlRegEx はとりあえず入れていましたが、あれは Delphi12.1 の中身と同等品なのですね
ラッパークラス、週末に確かめてみます。
DEKOさんのページは幾度となく読んでいましたがその時に必要な情報しか頭に入ってきていませんでした。

編集    削除