正規表現の後方不一致についてNo.12257
Iranoan さん 06/02/23 20:51
 
 秀まるおさん今日は、Iranoan です。
 http://www.maruo.co.jp/hidesoft/2/x20933_.html#20939 のスレッドで
HTML で alt 属性を含まない img タグの検索の話題がでたのですが、
<img(?!(.*?alt=)).*?> の指定で上手くいかないのは、文字列の長さが不定な
ので仕方がないですよね。
 あと同じスレッドの
http://www.maruo.co.jp/hidesoft/2/x20933_.html#20937 で絞り込みと文字
列否定ができたら便利だなあ〜、という投稿もありました。
 こちらの環境は、HmJre.dll Ver.1.77 です。

[ ]
RE:12257 正規表現の後方不一致についてNo.12259
秀まるお さん 06/02/24 09:34
 
 その、BRegIf.dll(というか、BREGEXP.DLL)での

> BRegIf.DLLでは「&」(絞込み検索)、「~」(非マッチ部分の検索)とか出来たりします

 についての説明ページがどこかよく分からなかったのでなんですが、HmJre.
dllでも似たようなことは出来なくもないと思いつつも、少なくともその「&」や
「~」の文字をそのままサポートすると、今までの正規表現と非互換が起きると
思います。

 しいてやるとしたら、(?....)みたいな感じで新規構文を追加するって方式か
なぁと思いますが。

  例えば、

  <img.*?>(?&!.*alt.*)

 とか指定したら、"<img.*?>"にヒットした文字列に対して".*alt.*"のマッチ
ングを実行して、それにヒットしなかったらよしとするとか…。

 (?&=patter)だったら、そのパターンにもヒットしないといけないって意味に
して、(?&!pattern)だったらそのパターンにヒットしてはいけないという意味に
するとか。

 そういう拡張なら出来ると思いますけど。

[ ]
RE:12259 正規表現の後方不一致についてNo.12262
Iranoan さん 06/02/24 12:40
 
 秀まるおさん今日は、Iranoan です。
>  についての説明ページがどこかよく分からなかったのでなんですが、HmJre.
> dllでも似たようなことは出来なくもないと思いつつも、少なくともその「&」や
> 「~」の文字をそのままサポートすると、今までの正規表現と非互換が起きると
> 思います。
>
>  しいてやるとしたら、(?....)みたいな感じで新規構文を追加するって方式か
> なぁと思いますが。
 私自身は、絞り込みはこれまであまりしたいと思ったことはありませんでし
たが、文字列の否定は出来たら便利だと思っていました。その点 HmJre.dll
は、全後方に限定ですが、便利になりました。
 構文はどういった方法でも良いので、採用頂ければ幸いです。

 P.S 相変わらず鶴亀メールへの要望は後を絶ちませんので、お手すきの時で
結構です。

[ ]
RE:12257 正規表現の後方不一致についてNo.12268
秀まるお さん 06/02/27 13:10
 
 今さらのコメントですみませんが、

> HTML で alt 属性を含まない img タグの検索の話題がでたのですが、
> <img(?!(.*?alt=)).*?> の指定で上手くいかないのは、文字列の長さが不定な
> ので仕方がないですよね。

 これをこちらで試した限りは、うまく動作します。例えば、

 <img alt=XXXX>

 にはヒットしませんが、

 <img src=XXXX>

 にはヒットします。

 具体的におかしなケースがあれば教えて欲しいです。

[ ]
RE:12268 正規表現の後方不一致についてNo.12269
Iranoan さん 06/02/27 18:02
 
 秀まるおさん今日は、Iranoan です。
>  具体的におかしなケースがあれば教えて欲しいです。
 私も確認したつもりだったのですが、上手くいきますね...。m(__)m

[ ]