Skip to content

oga5/oregexp

Repository files navigation

oregexp

正規表現処理のためのCライブラリ「oregexp」です。このライブラリは日本語(EUC-JP、UTF-8)をサポートした正規表現エンジンを提供します。Perl5互換の正規表現構文をサポートしています。

機能

  • Perl5互換の正規表現構文
  • 基本的な正規表現のパターンマッチング機能
  • 日本語文字セット(EUC-JP、UTF-8)のサポート
  • 文字列の置換処理
  • パターン検索

ビルド方法

UNIX系システム(Linux、macOS、WSL)

# プロジェクトのルートディレクトリで
make clean
make

ビルド結果

  • regtest: テスト実行用のバイナリ
  • ostrutil/ostrutil.a: 静的ライブラリファイル

テスト実行

./regtest

Perl5互換性

oregexpは以下のようなPerl5互換の正規表現機能をサポートしています:

  • 基本的な量指定子 (*, +, ?, {n,m})
  • 貪欲/非貪欲修飾子 (*?, +?, ??, {n,m}?)
  • キャプチャグループと非キャプチャグループ ((...), (?:...))
  • 文字クラス ([...], [^...])
  • メタ文字 (\d, \w, \s, \b, など)
  • アンカー (^, $, \A, \Z, など)
  • 選択 (|)
  • バックリファレンス (\1, \2, など)
  • 先読み/戻り読み断言 ((?=...), (?!...), など)

またPerl互換テストケースを使用して検証しています。

ライセンス

このプロジェクトはBSD 2-Clause Licenseの下でライセンスされています。詳細はLICENSE_BSDファイルをご参照ください。

ただし、test/perl_re_tests.txtはPerlのソースコードから派生したものであり、Perlの提供するデュアルライセンスのうち、Artistic Licenseを選択して利用しています。詳細はtest/LICENSE.PERL_TESTSをご参照ください。

今後の開発計画(ロードマップ)

oregexpの今後の開発計画としては、以下の項目を予定しています:

  1. APIドキュメントの追加
  2. 内部実装に関するドキュメントの追加
  3. Perlで追加で拡張された仕様の実装

About

Perl5互換の正規表現ライブラリ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages