構造検索と置換の例
ご存知のとおり、通常の検索と構造検索の主な違いは、構造検索ではプログラミング言語の構造テンプレートを探すことです。
構造検索の良いところは、既存のテンプレートを基にパターンを作成でき、コードの検索や置換時に時間を節約できる点です。
既存のテンプレートの豊富なリストは、単純なパターンから複雑なパターンまで、多くのユースケースをカバーしています。
パターン内の各項目は、両側に $ 記号が付いた変数で構成されます。
HTML と XML の例
次の例は、HTML および XML コードで構造検索を使用する方法を示しています。
XML および HTML タグ、属性、それらの値の検索
タグを検索する最も簡単なテンプレートは <$tag$/> です。
変数
$tag$に制約を設定することにより、検索するタグを指定できます。 例:liを指定すると、すべてのliタグが取得されます。次の XML および HTML での検索テンプレートを考えてみてください:
<$tag$ $attribute$=$value$ />。 例えば、$attribute$変数にidテキストフィルターを指定し、$value$変数に\d+正規表現をテキストフィルターとして指定すると、id属性に数値を持つすべてのタグを見つけることができます。
id 属性が 2 より大きい行をすべて削除する
HTML ファイルを作成し、次のコードを貼り付けてください:
<!doctype html> <html> <head> <title>Structural Search Example</title> <body> <ul> <li id="1">Example line 1</li> <li id="2">Example line 2</li> <li id="3">Example line 3</li> <li id="a">Example line a</li> <li id="5">Example line 5</li> </ul> </body> </html>メインメニューで へ移動します。
言語 リストから HTML ファイルの操作 を選択してください。
次の文字列を 検索テンプレート フィールドに貼り付けます。
<$tag$ $attribute$="$value$">$tag$変数をクリックします。フィルターパネルで、 Add modifier をクリックし、 テキスト を選択して、値フィールドに
liと入力します。フィルターパネルが表示されていない場合は、
Toggle Modifier Panel をクリックします。

$attribute$変数をクリックします。フィルターパネルで、 Add modifier をクリックし、 テキスト を選択して、値フィールドに
idと入力します。$value$変数をクリックします。フィルターパネルで、 Add modifier をクリックし、 テキスト を選択して、値フィールドに
\d+と入力します。\d+正規表現は、検索結果を数値に制限します。 そのため、id="a"のある行は除外されます。フィルターパネルからフォーカスを切り替えずに、 追加 ボタンをクリックし、 スクリプト を選択して、次のコードを貼り付けます。
value.getText().replaceAll (/"/, '').toInteger() > 2スクリプトは
$value$変数の内容を読み取り、それを文字列として返します(たとえば、"1")。 次に、スクリプトはすべての引用符を置き換え、文字列値を整数に変換して、2と比較します。
li タグのクラス属性の大文字の値を小文字に変換する
HTML ファイルを作成し、次のコードを貼り付けてください:
<!doctype html> <html> <head> <title class="EXAMPLE">Structural Replace Example</title> <body> <ul> <li class="EXAMPLE">Example line 1</li> <li class="example">Example line 2</li> <li class="EXAMPLE">Example line 3</li> <li class="example">Example line a</li> <li id="EXAMPLE">Example line 5</li> </ul> </body> </html>メインメニューで へ移動します。
言語 リストから HTML ファイルの操作 を選択してください。
次の文字列を 検索テンプレート フィールドに貼り付けます。
<$tag$ $attribute$="$value$">大/小文字を区別する チェックボックスを選択します。
$tag$変数をクリックします。フィルターパネルで、 Add modifier をクリックし、 テキスト を選択して、値フィールドに
liと入力します。$attribute$変数をクリックします。フィルターパネルで、 Add modifier をクリックし、 テキスト を選択して、値フィールドに
classと入力します。$value$変数をクリックします。フィルターパネルで、 Add modifier をクリックし、 テキスト を選択して、値フィールドに
[A-Z].*と入力します。[A-Z].*正規表現は、検索結果を大文字に制限します。ターゲット リストから 値 を選択してください。 この手順では、
class属性のすべての大文字の値をハイライトします。テンプレートを置換 フィールドに、
$to_lower_case$変数を貼り付けます。$to_lower_case$変数をクリックします。フィルターパネルで、 Add modifier をクリックし、 スクリプト を選択して、次のコードを貼り付けます。
value.getText().toLowerCase()
検索 をクリックしてください。
検索 ツールウィンドウで、検索結果をプレビューし、 すべて置換 をクリックします。
