いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【KNIME】ワイルドカードと正規表現

・"Row Filter"などのノードを使う際に、条件に合うものすべてを選択する(又は除外する)という必要が出る場合がある。

・そのようなケースで便利なのが、ワイルドカード正規表現

 

ワイルドカードは、どんな対象文字列でもマッチする代わりになる記号のこと。

・トランプの大富豪のジョーカーのようなイメージ。

・*と?があるらしい。

*は任意の文字数、?は任意の一文字を表すワイルドカード

・例えば、コレ↓から、"Row Filter"で行を抽出することを考える。

f:id:choron81:20210304215009p:plain

ワイルドカードチェックボックスにチェックを入れて、*aでフィルタリングすれば、a、aa、bbaa、jhaが含まれることになる(「0文字以上の任意の文字列」a)。

・?aでフィルタリングするとaaがヒットする(「1文字の任意の文字列」a)。

・??aでフィルタリングするとjhaがヒットする(「2文字の任意の文字列」a)。

 

正規表現も文字列を記号で表現し、パターンに合うものを含めたり除外したりするのに使う手法。

ワイルドカードより複雑で細かな表現が可能

ワイルドカードのように、任意の文字(列)を表現することだけではなく、繰り返し、いくつかの特定の文字(列)のうちどれか、文字の桁数の表現なども可能。

・表現の種類が結構多いので、「正規表現」でググって確認しながら使うと良い。

 

終わり。