検索時にアクティブとなっている場所によって、検索対象が異なります。デザイン ビューがアクティブならばそこで編集可能なテキストのみで、コード ビューならば、すべてのテキストが対象となります。またいずれのビューもフォーカスを失っているときは、最後にアクティブとなっていた方が対象となります。
検索する文字列に改行文字を入力するには、Shift + Enterを押下します。Enterだけだと検索の実行となってしまいます。
[HTMLのルール]ボタンから、HTMLの構造や属性を条件としての検索を行えます。
タグに対しては、次の条件を指定できます。
条件 | 検索対象となるテキストまたはタグ | 使用例 |
---|---|---|
次の属性 | 属性を含むタグ内 | 特定の属性を含むタグ内の、"Arial"という文字列をすべて検索できる |
次の属性なし | 属性を含まないタグ内 | 特定の属性を含まないタグ内の、すべての"p"を検索できる |
次の要素を含む | 指定した別のタグまたはテキスト内 | <b>で囲まれているすべての<font>を検索できる |
次の要素を含まない | 指定した別のタグまたはテキスト内にない | 別のタグに囲まれていないすべての<table>を検索できる |
指定したタグの内側 | 指定したタグ内 | "font"という文字列を検索すると、すべての<font>が検索結果に表示される |
指定したタグの外側 | 指定したタグ内にない | "font"という文字列をすべて検索し、<font>を検索結果に含めないようにできる |
属性に対しては、次の条件を指定できます。
検索対象の要素として[テキスト]を指定したとき、文字参照で記述されているテキストは、その表示上の記号で検索します。つまり「&」を検索するときは、「&」ではなく、そのまま「&」とします。
noscriptやcanvas要素など、通常は表示されないタグの内側は、検索対象となりません。
検索と置換ウィンドウの右下にある「クエリの保存」で、検索条件を保存できます。保存した検索条件は「クエリを開く」から簡単に呼び出せるため、正規表現による検索条件などを保存しておくと便利です。
検索条件は既定では%APPDATA%/Microsoft/Expression/Web 4/Queriesに保存され、次のようなXMLファイルです。
<?xml version="1.0" encoding="utf-8" ?> <fpquery version="1.0"> <queryparams inhtml="true" /> <find text="A" /> <replace text="B" /> </fpquery>
queryparams要素には下表の属性を指定でき、それぞれ属性値をtrueとすることで、その設定を有効にできます。
設定項目 | 属性名 |
---|---|
大文字と小文字を区別する | matchcase |
完全に一致する単語だけを検索 | wholeword |
スペースによる違いを無視する | ignorewhitespace |
正規表現 | regexp |
ソース コード内を検索する | inhtml |
検索条件の先頭や末尾に記述した空白やタブそれに改行文字は、読み込み時に自動で削除されます。空白を検索することはでき、保存時にはXMLファイルに記録されますが、読み込むと除去されています。
よって空白を含める必要があるならば、先頭や末尾が空白にならないように記述します。たとえば検索する文字の先頭を{ }
として、置換する文字の先頭を\1
とします。
「クエリ ファイル "C:\Users\UserName\AppData\Roaming\Microsoft\Expression\Web 4\Queries\[クエリ名].fpq" の読み込みに失敗しました。ファイルが存在しないか、または無効な文字が含まれています。」のように表示され、読み込みに失敗する場合があります。
これは検索条件にダブルクォート ( " ) を含めた場合、それがファイルにエスケープされずに保存されてしまうバグにより発生します。これはXMLの構文に反するため、手動で修正する必要があります。それにはテキストエディタで当該のファイルを開き、「"」の記述を「"」に変更します。
[HTML タグ]では、HTMLのタグに対する検索や置換を行えます。
HTMLタグに対しては、
の処理を行えます。
複数のページを対象に検索するには、それらのページを開いてから検索対象を[開いているページ]とするか、フォルダーリストなどで対象のページを選択した状態で[選択したページ]を指定して検索を実行します。
フォルダを選択すると、そのフォルダ以下のすべてのファイルが対象となります。
特定の拡張子のファイルのみを検索対象とするには、次の手順で検索します。