したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

テストその2

98 ◆/vmukiyuzw:2007/09/30(日) 02:20:26
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/486

> m#<dt><a.*?>([0-9]+).+?(?:"mailto:(.+?)">)?<b>(.+)</b>(?:</a>|</b>).*?:(.*?)<dd>(.*)<br><br>#mi

さらっと書いちゃって、実際ちゃんと動作するのですが
(引用していいのかな)

<a name="a1"></a><dt><a href="menu:1">1</a> 名前:<font color="forestgreen"><a href="mailto:sage"><b>僕ドザえもん</b></a></b></font> 投稿日:2006/04/11(火) 23:49:36 ID:36X3fpBJ0<dd> 魔方陣を書いて「出でよ悪魔」と叫べばおk <br><br>

<a name="a2"></a><dt><a href="menu:2">2</a> 名前:<font color="forestgreen"><b>酋長 </b>◆occulTjdPc <b></b></b></font> 投稿日:2006/04/11(火) 23:50:29 ID:5fhQaGfM0<dd> 酋長が召還された <br><br>


に対して

<b>(.+)</b>(?:</a>|</b>)

の部分が名前欄になぜちゃんとマッチするのかってのは実は結構難しいんです。
<b>(.+)</b> としているので最長一致となるので</font>の直前の</b>までマッチしてしまって
結果おかしくなってしまいそうな気がするんですけど、実際には (?:</a>|</b>) があるおかげで
最長の一個前でうまくマッチしてくれているのがなんか不思議だなと・・・
(それぞれの</b>をどう識別してるんだろうと思いませんか?)

まあ正規表現だけを解説した本とかあるくらいですし奥が深いですね。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板