[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
|
1-
101-
201-
301-
401-
501-
601-
701-
801-
901-
1001-
1101-
この機能を使うにはJavaScriptを有効にしてください
|
htmltodatサポートスレッド
554
:
◆/vmukiyuzw
:2008/06/20(金) 20:33:08
# 皆様早起きですねえ
ところで、
>>548
で
> で、名前欄へのマッチパターンの推奨としてはシンプルに<b>(.*)</b> ←最長一致にする(*に?をつけない)のがミソ
とか書いちゃったんですが、実際には自分が書いてる正規表現では
最短一致を使ってました。実はあまり意識してなかったんですが。
なんで最短一致でもうまくいくか考えてみると。
例えば「DAT2HTML0.26」だと、マッチさせるhtml側のパターンは
<b>名前</b></a>
もしくは
<b>名前</b></font>
のように、名前欄の後の</b>の後にさらにマッチさせるべき要素が存在します。
で、これに対する正規表現としては
<b>.*?</b>(?:</a>|</font>)
のようにすれば、たとえトリップ等で名前欄の途中に他の</b>があったとしても、
後続に</a>や</font>がないので読み飛ばされて、正しく意図した</b>にマッチしてくれる
ということのようです。
また、
・改行コードなしのベターっとしたhtmlの場合、最長一致だと破綻する
(最近あまり見かけないですが、一時期のread.cgiがこういうhtmlを吐いていたんです。
「read.cgi7.00?」の本文欄へのマッチが最短一致になっているのはそのためです)
・最長最短どちらでも適用可能な場合、処理コストは最短一致のほうが少ないはず
という考えもあります。
というわけで
>>548
での上記発言(最長一致を推奨)は撤回させてください。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板