質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

2493閲覧

正規表現でページにないものを探すのには

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2015/05/05 23:06

表題に対して、

現在使っているのは、DREAM WEAVERですが、HTML の中の数あるページの中で、たとえば例として一般的なheader部分の:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>道の駅川場</title> <style type="text/css"> ---------------------------------------------------------- という一般的な header部分があるとします。 ------------------------------------------------------------------- ------------------------------------------------------------------- A) ここで、 <meta name="viewport" content="width=device-width, initial-scale=1"> が、「ある」ページだけを見つける(抽出)するのは至極簡単なのですが(実際は、DREAM WEAVERでは、正規表現を使わなくてもそのページだけの抽出は簡単に出来ますが・・・)

b) 反対の探索として、それが「欠落しているページをだけを見つける・・・(記入を忘れているページだけを探し出す」のには、どのような、「正規表現」を書けば、その欠落ページだけ拾うことが出来るのでしょうか? (もちろん、正規表現を利用しなくとも見つかればよいのですが・・・)

以前から考えているのですが、分からないのです。 結局、そのページに(abvdfxxx という語がない場合の抽出方法)ということです。

よろしくお願いします。正規表現の本を見ても、何か、ないものを探すといった例は見当たらないのですが・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

参考情報として。

grep コマンドをつかって、"指定した正規表現のパターンを含まないファイルを列挙する" 事は可能です。

grep というコマンドには
指定したパターンを含まないファイルを見つける
指定したパターンを含むファイルを見つける
という機能があります。

MacOX の場合は
grep -L パターン ファイル名...
grep -L パターン ファイル名...
です。

実行例:

$ ls *.java ls *.java Forked.java Sample.java Sample0.java foobar.java readint.java $ grep -L print *.java foobar.java $ grep -l print *.java Forked.java Sample.java Sample0.java readint.java $ cat foobar.java public class Foobar { } $ grep -n print *.java Forked.java:6: System.out.printf("%d%s\n", i, optstr); Sample.java:13: System.out.println(a); Sample.java:16: System.out.println("----"); Sample.java:20: System.out.println(a); Sample.java:24: System.out.println("----"); Sample.java:27: cList.forEach(s -> System.out.println(s)); Sample0.java:16: System.out.println("" + (i * 10) + ".." +(( i * 10) + 9) + ":" + box[i]); readint.java:14: System.out.println(Arrays.toString(hairetu)); readint.java:16: // System.out.println(Arrays.toString(n)); readint.java:40: e.printStackTrace();

↑では、固定文字列で試してますが、正規表現を指定して実行することが可能です。
また -r オプションを使えば、指定フォルダー以下を再帰的に検索対象とすることもできます。

投稿2015/05/06 11:18

編集2015/05/06 22:46
katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/05/06 22:44

おはようございます。   素晴らしい内容の回答をありがとうございます。 grep コマンドが、あるということは、知りませんでした。    今後、これも活用させていただきます。 今後とも、よろしくお願いいたします。
guest

0

こんにちは。
解決済みの後で恐縮ながら、(知ってたらごめんなさい的な)蛇足です。

ご質問にあった

何か、ないものを探す

について、たとえば「viewportという文字列を含まない文字列」は
正規表現:

lang

1^(?!.*viewport).*$

と書けます。
ただし、これではmonoda1さんの目的は果たせません。
DreamWeaverが手元にないので、確認はできませんが、
この正規表現でファイルを対象に文字列検索をすると、
おそらく

viewportという文字列を含まない行が1行でもあるファイル

がリストアップされるだけだろうと思います。

余談として、ちなみに私は、開発ツールとしてEclipseを(いまだに)
使っていますが、上記の正規表現で、HTMLを多数含むディレクトリを
対象に検索をかけてみたところ、viewportを含まない行が大量に
(ちゃんと)出てきました。

結論としては、otnさんのご回答にあるように、何らかの別の言語
(otnさんのご回答ではDOSコマンド)による助けが必要ですね。

以上です。

投稿2015/05/06 01:25

jun68ykt

総合スコア9058

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/05/06 02:21

こんにちは! これはこれは、恐れ入ります。 色々ためになることを教えて頂き、本当にありがたく思います。 また何か。 気がついたことがあったら教えてください。     追伸: Eclipseを(いまだに)使用されているとのこと・・・自分でも一度使いましたが(PHP)で、色々な本(初級用)の内容とEclipse versionが合致しないので、分からなくなり、やめてしまいました! 確かに慣れると使いよいのかもしれませんね・・・     今後ともご支援ください。ありがとうございました。
guest

0

ベストアンサー

正規表現では無理です。正規表現は、「こういうパターンの文字列」という機能であって、「それを含むファイルを表示する」「それを含まないファイルを表示する」というのは正規表現を使うツール側の機能です。

なので、「それを含まないファイルを表示する」という機能を持たないツールでは無理。

Windowsですよね?今回は探す文字列が、固定文字列のようなので、特定のフォルダーの中に全ファイルが入っているとすると、コマンドプロンプトで、

lang

1cd 特定フォルダー 2notepad pattern.txt で、探したい文字列を書き込んで保存 3findstr /m /g:petten.txt *.html | sort > ari.txt 4dir /b > all.txt 5fc all.txt ari.txt

で、無いファイル一覧が出ると思います。fc の出力がわかりにくいかもしれませんが、要はall.txtにあってari.txtに無いものです。

投稿2015/05/06 00:27

編集2015/05/06 00:43
otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/05/06 00:38

   おはようございます! 早々のご回答、本当にありがたく思います。       ついては、早速勉強させていただきます。 矢張り、正規表現では無理ということなのですね・・・よく分かりました。       コマンドプロンプト でやらせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問