| Inheritance |
|
これは、アトリビュートパターンから構築可能なパターンマッチングオブジェクトです。 pdg.AttributeOwner.attribMatch関数と併用することで、マッチしたワークアイテムアトリビュート名のリストを取得することができます。
このパターンは、アトリビュートパターン構文セクションで指定されているルールを使用します。
メソッド ¶
静的メソッド ¶
isValidName(attrib_name)
→ bool
指定した名前が有効なアトリビュート名であればTrue、そうでないならFalseを返します。
makeValidName(attrib_name)
→ bool
指定した文字列を有効なアトリビュート名に変換します。
インスタンスメソッド ¶
__init__(pattern, default_match_type=pdg.attribMatchType.Plain, strict=True, delimiters=" \t\n\r")
指定した文字列から新しいパターンオブジェクトを構築します。
strictをFalseに設定すると、pattern内のアトリビュート名には任意の文字(*と^と空白を除く)を使用することができます。
strictをTrueに設定すると、_と英数字の文字のみがアトリビュート名に使用することができます。
strictモードが無効になっていると、:区切り文字を使ってアトリビュートタイプを指定することができません。
default_match_typeは、入力文字列内の項目に明示的に*トークンが含まれていない場合に使用されるパターンのタイプを決めます。
例えば、default_match_typeにpdg.attribMatchType.Bothを設定すると、そのパターンの項目に*トークンが含まれていなくても、すべての項目の先頭と末尾に*トークンが自動的に追加されます。
example other*というパターンは、その場合だと実質的に*example* other*と同じになります。
デフォルトでは、その引数にpdg.attribMatchType.Plainが設定されているので、*トークンは追加されません。
The delimiters string determines the list of valid delimiters for splitting the input string into tokens. By default the pattern splits on any white space character, however it’s possible to support e.g. comma-separate string by passing a delimiter string of "," instead.
components(name, type=pdg.attribType.Undefined)
→ tuple
nameからパターンにマッチしたコンポーネントを(prefix, match, suffix)形式のタプルで返します。
このprefixコンポーネントは、パターン内の先頭の*文字にマッチしたnameの部分に呼応します。
このmatchコンポーネントは、パターンにマッチしたnameの部分に呼応します。
このsuffixコンポーネントは、パターン内の末尾の*文字にマッチしたnameの部分に呼応します。
nameがパターンにマッチしなかった場合、この関数はNoneを返します。
例えば、*example*というパターンを渡すと、入力文字列がan_exampleなら("an_", "example", "")のタプルを返します。
入力文字列がan_example_stringなら("an_", "example", "_string")を返します。
contains(name, type=pdg.attribType.Undefined)
→ bool
指定したアトリビュート名とアトリビュートタイプがパターンに合致した場合はTrueを返し、そうでない場合はFalseを返します。
typeをpdg.attribType.Undefinedに設定すると、アトリビュートを合致させる時にタイプが無視されます。
multiComponents(input_names=[], keep_plain=False)
→ dict
of tuple
input_names内の名前毎にpdg.AttributePattern.components関数を適用し、input_names内の各エントリとその結果のマッチコンポーネントタプルをマッピングした辞書を返します。
input_names内のエントリがパターンにまったくマッチしなかった場合、そのエントリは出力辞書には含まれません。
keep_plainをTrueに設定すると、*トークンが含まれていないパターンコンポーネントはinput_namesに含まれていない場合でも常に出力辞書に含まれるようになります。
multiMatch(input_names=[], keep_plain=False)
→ list
of str
パターンに合致した入力リスト内の文字列名の配列を返します。
keep_plainをTrueに設定すると、たとえinput_names内にパターンコンポーネントがなくても、自身に*トークンを含まないパターンコンポーネントが常に出力リストに含まれるようになります。
その結果、input_namesが空っぽでkeep_plainがTrueの場合、この関数は、単純な文字列名として表現されたパターンコンポーネントのリストを返します。
Methods from pdg.BasePattern ¶
errors
: str
Property
パターンが無効だった場合、この文字列には分析エラーが含まれます。
isValid
: bool
Property
パターンが有効だった場合、Trueに設定されます。 無効だった場合、Falseに設定されます。
pattern
: str
Property
このパターンオブジェクトの構築に使用するソース文字列。