Perlの正規表現について

[上に] [前に] [次に]
こまっち [E-Mail] 1998/05/03(日) 13:16:39
Perlの正規表現で、
「ある単語(文字じゃなくて)以外のものにマッチするとき」
という風にするにはどうすればいいのでしょうか。

mm 1998/05/03(日) 18:06:52
ちょっとご質問が曖昧です。
マッチするのは単語に限るのですか?
たとえば、それ以外となる単語の例と、検索したい文字列の例を挙げて頂くと
分かりやすいと思います。(その文字列のどこにマッチさせたいかというのも)

こまっち 1998/05/03(日) 21:33:45
曖昧でごめんなさい。
掲示板などで、あらかじめ許可するHTMLタグを決めておいて、
(b、i、big、smallなど)
それ以外のタグにマッチするときある処理を実行・・・、
といったものが作りたいのです。
本当に曖昧でごめんなさい。
よろしくお願いします。

mm 1998/05/04(月) 00:01:19
そういうことなら…
$message に掲示板のメッセージが入ってるとして、
(タグ内の属性の "" の内側は考慮しないという条件で)

$permit{'b'} = 1; # 許可タグを登録する
$permit{'i'} = 1;
$permit{'big'} = 1;
$permit{'small'} = 1;
while ( $message =~ m/<([\w!\-]+)/g ) {
  ($tag = $1) =~ tr/A-Z/a-z/; # タグを小文字に統一
  if ( ! defined $permit{$tag} ) {
    (許可しないタグがあった場合の処理)
  }
}
というのではいかがでしょう?

似たようなものを以前も書いたことがあるので、
下も参考にして下さい。
http://www.tohoho-web.com/lng/199711/97111401.htm

こまっち 1998/05/07(木) 01:53:24
[[解決]]
mmさん、ありがとうございました。
(レス遅れてすいませんm(_ _)m)
アドバイスと過去のログを参考にして作ってみます。

[上に] [前に] [次に]