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

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

新規登録して質問してみよう
ただいま回答率
85.48%
正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

解決済

3回答

840閲覧

正規表現について初心者です。

YS2

総合スコア8

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

0クリップ

投稿2018/10/13 08:41

編集2018/10/13 08:42

下記のソースでテキスト~1つ目の</table>までを
マッチさせることはできますか?

[\s\S]*?</table>

これで最短マッチになるのかと思ったのですが、
最後の行の</table>までマッチしてしまいます。

詳しい方コメント頂けると幸いです。


テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト<br><br>

<table> <table id="date"                                                    > <tr> <th colspan="7"> テキスト</th> </tr> <tr> <th> テキスト </th> <td colspan="6"> テキスト </td> </tr> <tr> <th rowspan="2"> テキスト </th> <td colspan="6"> テキスト </td> </tr> <tr> <td colspan="6"> テキスト </td> </tr> <tr> <th rowspan="3"> テキスト </th> <td colspan="6"> テキスト </td> </tr> <tr> <td colspan="6"> テキスト </td> </tr> <tr> <td colspan="6"> テキスト </td> </tr> <tr> <th rowspan="4"> テキスト </th> <td colspan="6"> テキスト </td> </tr> <tr> <td colspan="6"> テキスト </td> </tr> <tr> <td colspan="6"> テキスト </td> </tr> <tr> <td colspan="6"> テキスト </td> </tr> <tr> <th> テキスト </th> <td colspan="6"> テキスト </td> </tr> </table>

<br><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr height="40px"><td><a href="#" target="_blank" >テキスト</a></td></tr> <tr height="20px"><td><a href="#">> テキスト</a></td></tr> </table>

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

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

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

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

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

KojiDoi

2018/10/13 09:11

どのOSでどんなプログラム・ツールを使っているかを書いてください。ツールによってサポートされている正規表現が少しづつ違います。
guest

回答3

0

大変参考になりました。ありがとうございました。

投稿2018/10/13 10:02

YS2

総合スコア8

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

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

0

正規表現は間違っていませんので、それを使っているプログラムが間違っているのでしょう。

投稿2018/10/13 09:31

otn

総合スコア84557

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

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

0

ベストアンサー

期待通り、前方から数えて初めに出現する </table> にマッチします。

HTML

1<textarea></textarea> 2<script> 3'use strict'; 4const string = `テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト<br><br> 5<table> 6<table id="date"                                                    > 7<tr> 8<th colspan="7"> 9テキスト</th> 10</tr> 11 12<tr> 13<th> 14テキスト 15</th> 16<td colspan="6"> 17テキスト 18</td> 19</tr> 20<tr> 21<th rowspan="2"> 22テキスト 23</th> 24<td colspan="6"> 25テキスト 26</td> 27</tr> 28<tr> 29<td colspan="6"> 30テキスト 31</td> 32</tr> 33<tr> 34<th rowspan="3"> 35テキスト 36</th> 37<td colspan="6"> 38テキスト 39</td> 40</tr> 41<tr> 42<td colspan="6"> 43テキスト 44</td> 45</tr> 46<tr> 47<td colspan="6"> 48テキスト 49</td> 50</tr> 51<tr> 52<th rowspan="4"> 53テキスト 54</th> 55<td colspan="6"> 56テキスト 57</td> 58</tr> 59<tr> 60<td colspan="6"> 61テキスト 62</td> 63</tr> 64<tr> 65<td colspan="6"> 66テキスト 67</td> 68</tr> 69<tr> 70<td colspan="6"> 71テキスト 72</td> 73</tr> 74<tr> 75<th> 76テキスト 77</th> 78<td colspan="6"> 79テキスト 80</td> 81</tr> 82 83</table> 84 85<br><table width="100%" border="0" cellspacing="0" cellpadding="0"> 86<tr height="40px"><td><a href="#" target="_blank" >テキスト</a></td></tr> 87<tr height="20px"><td><a href="#">> テキスト</a></td></tr> 88 89</table>`; 90 91document.querySelector('textarea').value = /[\s\S]*?</table>/.exec(string)[0]; 92</script>

Re: YS2 さん

投稿2018/10/13 08:58

編集2018/10/13 09:43
think49

総合スコア18164

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問