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

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

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

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

Q&A

2回答

3850閲覧

正規表現でHTMLタグを解析する

Papipupepo

総合スコア10

JavaScript

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

0グッド

1クリップ

投稿2015/02/01 14:10

■行いたいこと
HTMLコードを入力し、それをJavaScriptのmatchメソッドを使って
何のタグが入力されたのかを調べたいです。

例えば、次のような入力をすると・・・

lang

1<html> 2<head> 3 <title>ほげほげ</title> 4</head> 5<body> 6 <p class="hoge">あいうえお</p> 7 <a href="http://www.hogehoge.co.jp">かきくえこ</a> 8 <br> 9</body> 10</html>

次のような結果が出る感じにしたいです。

lang

1// 変数 : 値 2RegExp.$1; // html 3RegExp.$2; // head 4RegExp.$3; // title 5RegExp.$4; // body 6RegExp.$5; // p 7RegExp.$6; // a 8RegExp.$7; // br

グループ化や正規表現に使える記述などを調べたものの、
良いパターンが思いつかず煮詰まってしまい質問した次第です。

良いパターンもしくは違う方法で結果を得れる方法を御存知の方がいましたら
どうかご教授示しください。よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

html parser github のキーワードで検索してみました
こういった例の場合、正規表現ではなく構文解析器を利用するのがよいのかもしれません

たとえば、tautologistics/node-htmlparser - GitHub のようなツールが公開されているようです

解析された出力結果から 集計処理を挟むことで、お望みの結果が得られるかもしれません
参考になれば幸いです

投稿2015/02/01 18:26

gouf

総合スコア2321

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

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

0

 なんか穴がありそうなんですが

lang

1var re=/<\s*([^/>\s]+)/mg; 2function test(){ 3return re.exec('<html>\ 4<head>\ 5 <title>ほげほげ</title>\ 6</head>\ 7<body>\ 8 <p class="hoge">あいうえお</p>\ 9 <a href="http://www.hogehoge.co.jp">かきくえこ</a>\ 10 <br>\ 11</body>\ 12</html>'); 13} 14test(); //html 15test(); //head 16test(); //title 17test(); //body 18test(); //p 19test(); //a 20test(); //br 21test(); //null

投稿2015/02/03 07:31

Lhankor_Mhy

総合スコア36898

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問