tkre プログラム仕様

tkre.py ライブラリ ドキュメント

tkreモジュール

概要:

正規表現操作を簡略化するユーティリティ関数とクラスを提供します。

詳細説明:

Python標準のreモジュールとshlexモジュールをラップし、 一般的な正規表現パターンマッチング、検索、置換、分割などの 操作を容易に行えるように設計されています。 グローバル変数`last_res`を用いて、直前のマッチ結果を保持する機能も提供します。

tklib.tkre.DelLastSpace(str)[ソース]

概要: 文字列の末尾にある空白文字を削除します。

詳細説明:

Pythonのstr.rstrip()メソッドを呼び出し、文字列の末尾から空白文字を除去します。

パラメータ:

str (str) -- 末尾の空白文字を削除する対象の文字列。

戻り値:

末尾の空白文字が削除された文字列。

戻り値の型:

str

tklib.tkre.DelQuote(str)[ソース]

概要: 文字列の先頭と末尾にある引用符(シングルクォートまたはダブルクォート)を削除します。

詳細説明:

文字列がシングルクォートまたはダブルクォートで両端を囲まれている場合に限り、 その引用符を削除します。内側の引用符は削除されません。 文字列の前後の空白は`strip()`で除去されます。

パラメータ:

str (str) -- 引用符を削除する対象の文字列。

戻り値:

引用符が削除された文字列。

戻り値の型:

str

tklib.tkre.DelSpace(str)[ソース]

概要: 文字列の先頭と末尾にある空白文字を削除します。

詳細説明:

Pythonのstr.strip()メソッドを呼び出し、文字列の両端から空白文字を除去します。

パラメータ:

str (str) -- 空白文字を削除する対象の文字列。

戻り値:

先頭と末尾の空白文字が削除された文字列。

戻り値の型:

str

tklib.tkre.DelTopSpace(str)[ソース]

概要: 文字列の先頭にある空白文字を削除します。

詳細説明:

Pythonのstr.lstrip()メソッドを呼び出し、文字列の先頭から空白文字を除去します。

パラメータ:

str (str) -- 先頭の空白文字を削除する対象の文字列。

戻り値:

先頭の空白文字が削除された文字列。

戻り値の型:

str

tklib.tkre.FindAll(reg, str, flag='')[ソース]

概要: 正規表現にマッチする全てのグループを検索し、リストとして返します。

詳細説明:

re.findall関数を実行し、その結果からマッチしたグループを抽出することを試みます。 抽出されたグループはリストとして返されます。 この関数の結果はグローバル変数`last_res`にも保存されます。

パラメータ:
  • reg (str) -- 検索する正規表現パターン。

  • str (str) -- 検索対象の文字列。

  • flag (str, optional) -- reモジュールのフラグ文字列 (例: 'im')。GetReg_flagによって変換されます。

戻り値:

マッチしたグループのリスト。

戻り値の型:

list of str

tklib.tkre.FindIter(reg, str, flag='')[ソース]

概要: 正規表現にマッチする全ての非重複部分文字列またはグループをイテレータとして検索します。

詳細説明:

re.finditer関数をラップし、正規表現`reg`にマッチする全ての箇所を検索します。 各マッチについて、マッチオブジェクトから抽出されたグループのリストを作成し、 それらをさらにリストにまとめて返します。 この関数の結果はグローバル変数`last_res`にも保存されます。

パラメータ:
  • reg (str) -- 検索する正規表現パターン。

  • str (str) -- 検索対象の文字列。

  • flag (str, optional) -- reモジュールのフラグ文字列 (例: 'im')。GetReg_flagによって変換されます。

戻り値:

各マッチのグループのリストのリスト。

戻り値の型:

list of list of str

tklib.tkre.GetReg_flag(flag='')[ソース]

概要: 指定されたフラグ文字列からreモジュール用の正規表現フラグを生成します。

詳細説明:

入力された文字列に含まれる文字に基づいて、re.IGNORECASE (i), re.DOTALL (s), re.MULTILINE (m), re.ASCII (a), re.LOCALE (l), re.VERBOSE (x) のいずれかのフラグをビットORで結合します。

パラメータ:

flag (str, optional) -- フラグ文字を含む文字列 (例: 'im')。デフォルトは空文字列。

戻り値:

reモジュールで使用できる正規表現フラグのビットマスク。

戻り値の型:

int

tklib.tkre.Match(reg, str, flag='')[ソース]

概要: 文字列の先頭から正規表現のマッチを試みます。

詳細説明:

re.match関数をラップし、文字列`str`の先頭で正規表現`reg`にマッチするかを試みます。 マッチした場合、マッチオブジェクトから抽出されたグループのリストを返します。 マッチしない場合は空のリストを返します。 この関数の結果はグローバル変数`last_res`にも保存されます。

パラメータ:
  • reg (str) -- 検索する正規表現パターン。

  • str (str) -- 検索対象の文字列。

  • flag (str, optional) -- reモジュールのフラグ文字列 (例: 'im')。GetReg_flagによって変換されます。

戻り値:

マッチしたグループのリスト、またはマッチしない場合は空のリスト。

戻り値の型:

list of str

tklib.tkre.Search(reg, str, flag='')[ソース]

概要: 文字列の任意の場所で正規表現の最初のマッチを検索します。

詳細説明:

re.search関数をラップし、文字列`str`内で正規表現`reg`に最初にマッチする箇所を検索します。 マッチした場合、マッチオブジェクトから抽出されたグループのリストを返します。 マッチしない場合はNoneを返します。 この関数の結果はグローバル変数`last_res`にも保存されます。

パラメータ:
  • reg (str) -- 検索する正規表現パターン。

  • str (str) -- 検索対象の文字列。

  • flag (str, optional) -- reモジュールのフラグ文字列 (例: 'im')。GetReg_flagによって変換されます。

戻り値:

マッチしたグループのリスト、またはマッチしない場合はNone。

戻り値の型:

list of str or None

tklib.tkre.Split(reg, str)[ソース]

概要: 正規表現パターンに基づいて文字列を分割します。

詳細説明:

re.split関数をラップし、指定された正規表現`reg`にマッチする区切り文字で 文字列`str`を分割します。

パラメータ:
  • reg (str) -- 分割に使用する正規表現パターン。

  • str (str) -- 分割対象の文字列。

戻り値:

分割された部分文字列のリスト。

戻り値の型:

list of str

tklib.tkre.Sub(reg, target, str, n=0)[ソース]

概要: 正規表現にマッチする部分文字列を置換します。

詳細説明:

re.sub関数をラップし、文字列`str`内で正規表現`reg`にマッチする部分を `target`で置換します。置換回数を`n`で指定できます。

パラメータ:
  • reg (str) -- 検索および置換に使用する正規表現パターン。

  • target (str) -- マッチした部分を置換する文字列。

  • str (str) -- 置換対象の文字列。

  • n (int, optional) -- 置換する最大回数。0の場合は全て置換します。デフォルトは0。

戻り値:

置換後の文字列。

戻り値の型:

str

tklib.tkre.SubN(reg, target, str, n=0)[ソース]

概要: 正規表現にマッチする部分文字列を置換し、置換回数を返します。

詳細説明:

re.subn関数をラップし、文字列`str`内で正規表現`reg`にマッチする部分を `target`で置換します。置換後の文字列と、実際に置換が行われた回数のタプルを返します。 置換回数を`n`で指定できます。

パラメータ:
  • reg (str) -- 検索および置換に使用する正規表現パターン。

  • target (str) -- マッチした部分を置換する文字列。

  • str (str) -- 置換対象の文字列。

  • n (int, optional) -- 置換する最大回数。0の場合は全て置換します。デフォルトは0。

戻り値:

置換後の文字列と置換回数のタプル。

戻り値の型:

tuple of (str, int)

tklib.tkre.get_result()[ソース]

概要: 直前の正規表現操作の結果を返します。

詳細説明:

Search, Match, FindAll, `FindIter`などの関数によって設定された グローバル変数`last_res`の値を返します。

戻り値:

直前の正規表現操作の結果。結果の形式は操作によって異なります。

戻り値の型:

list or None

tklib.tkre.main()[ソース]

概要: モジュール内の関数の動作例を示すメインエントリポイント。

詳細説明:

この関数は、DelQuote`FindIter`などのモジュール内の主要な関数の 使用方法を示すためのサンプルコードを含んでいます。 スクリプトが直接実行された場合に呼び出されます。

tklib.tkre.shSplit(reg, str)[ソース]

概要: shlexモジュールを使用して文字列をシェル風に分割します。

詳細説明:

shlex.split関数をラップし、シェルの構文規則に従って文字列をトークンに分割します。 この実装では、最初の引数`reg`が分割対象の文字列、 2番目の引数`str`が`shlex.split`の`comments`引数として渡されます。

パラメータ:
  • reg (str) -- 分割対象の文字列。`shlex.split`の第1引数として使用されます。

  • str (str) -- `shlex.split`の`comments`引数として渡される文字列。

戻り値:

分割されたトークンのリスト。

戻り値の型:

list of str

class tklib.tkre.tkRegExp(**args)[ソース]

ベースクラス: tkObject

概要: 正規表現操作を提供するtklibのラッパークラス。

詳細説明:

tklibのtkObjectを継承し、正規表現による文字列検索機能を提供します。 特に`FindIter`メソッドを通じて、モジュールレベルの`FindIter`関数を オブジェクト指向のインターフェースで利用できるようにします。

FindIter(reg, str, flag='')[ソース]

概要: 正規表現にマッチする全ての非重複部分文字列またはグループをイテレータとして検索します。

詳細説明:

モジュールレベルの`FindIter`関数を呼び出し、正規表現`reg`にマッチする 全ての箇所を検索します。各マッチについて、マッチオブジェクトから抽出された グループのリストを作成し、それらをさらにリストにまとめて返します。

パラメータ:
  • reg (str) -- 検索する正規表現パターン。

  • str (str) -- 検索対象の文字列。

  • flag (str, optional) -- reモジュールのフラグ文字列 (例: 'im')。GetReg_flagによって変換されます。

戻り値:

各マッチのグループのリストのリスト。

戻り値の型:

list of list of str