2017-09-07 5 views
0

プロジェクトの幅広いすべてのhtmlファイルで、 "validation"という名前のクラスのインスタンスをすべて検索したい。非常に大規模なプロジェクトであり、 "validation"という単語を検索すると、無関係な結果(js関数、css、js/css minified、その他のクラス、関数、HTMLページコンテンツなど)に何百もの無関係な結果が得られます。 2番目、3番目、または4番目のクラスが宣言されていることがありますので、 "class = 'validation"を検索することはできません。サブライムテキスト - プロジェクト全体のhtmlクラス名のすべてのインスタンスを見つけよう

バリデーションがhtmlブロック上で宣言されたクラスの結果のみを指定する方法はありますか?

答えて

1

はい。崇高なメニューでFind - >Find in Files...

次の画像にあるものと一致してください。

enter image description here

+0

私の質問で言及したように、多くのHTMLファイルには、クラス参照の外に(コンテンツ自体、私のジンジャーコードなどで)単語「検証」が含まれています。私は "find only html class"を指定することを望んでいました。 – Krispy

0

あなたがやりたいだろう最初のことは、あなたがこの問題を解決することができる方法で他の可能性を検討しています。現在、あなたは崇高なテキストだけを使用しているようです。 grepのようなコマンドラインツールを使用しようと考えましたか?

ここでは、その使用方法の例を示します。

私はenfold-childというプロジェクトに、ワードプレスプロジェクト用のフロントエンドアセットがたくさんあります。たとえば、私のscssのファイルを、どこかにリストされている "home"というクラスで見つけたいのですが、cssというファイルや、node_modulesというフォルダの中には入れたくありません。次のように私はそれを行うような方法は次のとおりです。

フォルダ構造:

.. 
    |build 
    |scss_files 
    |node_modules 
    |css_files 
    |style.css 

grep -rnw build --exclude=*{.css} --exclude-dir=node_modules -e home

grep =便利な検索ユーティリティ。

-r =再帰的検索。

-n =単語全体を形成マッチを含む行のみを選択し=

-w各マッチのために行番号を提供します。

-e =正規表現と一致します。

home =検索したい式。

一般に、コマンドラインには、大部分のテキストエディタ(Sublimeなど)が提供する素晴らしい操作のほとんどを実行したいと思うほとんどのものがあります。コマンドラインに慣れれば、将来的には時間と頭痛の束が節約されます。

0

SublimeTextでは、検索を開始するフォルダを右クリックし、Find in Folderをクリックします。正規表現の検索が有効になっていることを確認します(検索パネルで.*ボタン)と検索文字列として、この正規表現を使用します。

class="([^"]+)?validation[ "]

regexにそれは「検証」が唯一のクラス名だけでなく、その例であるケースを処理しますいくつかのクラス名の1つ(この場合、リストのどこにでも置くことができます)。

あなたは二重引用符に固執しなかった場合は、このバージョンは、単一または二重引用符で動作します:

class=['"]([^'"]+)?validation[ '"]

あなたはgrepと、コマンドラインからこれらの正規表現を使用したい場合は、あなたがする必要があります「拡張正規表現」には-E引数を含めます。

関連する問題