特定の文字以外にマッチさせるには?

[上に] [前に] [次に]
くろっくぁ 1999/08/27(金) 22:38:00
正規表現で、例えば数字以外の一文字ににマッチさせるときは
[^0-9](\D)でできますが、
特定の文字以外にマッチさせるにはどうすればいいのですか。
"(あああ)"以外にマッチさせたりしたいんです。

ふじ 1999/08/27(金) 22:53:38
$str !~ /\(あああ\)/
!($str =~ /\(あああ\)/)

どちらも $str に (あああ) が含まれていない場合に真になります。
#・・・これでいいのかな?

くろっくぁ 1999/08/27(金) 23:29:06
すみません、書き方が悪かったです。
<あああ>にはマッチするけど、
<いいい>や<ううう>にはマッチさせたくないんです。

ふじ 1999/08/28(土) 01:41:50
><あああ>にはマッチするけど、
><いいい>や<ううう>にはマッチさせたくないんです。
???
それは素直に

$str =~ /あああ/

でいいんじゃ・・・

もしよかったら、具体的にやりたいことを教えて下さいな。

くろっくぁ 1999/08/28(土) 02:41:22
えっと、掲示板で一部のタグを許可して後は全部禁止したいんです。
禁止するタグを書いていって、
@kinshi = ('BODY');
for (0..$#kinshi) {
$value =~ s/<.?$kinshi[$_].*>//gsi;
}
(今適当に考えたのであってるかどうかわかりませんが)
とかならできるんですけど、禁止するタグをどんどん書いていくのは
効率が悪いので・・・

Aurai 1999/08/28(土) 07:49:10
スマートではありませんが
  $value =~ s/&/&amp;/g;
  $value =~ s/"/&quot;/g;
  $value =~ s/</&lt;/g;
  $value =~ s/>/&gt;/g;
後に
  @Kyoka = ('BODY');
  for (0..$#Kyoka) {
    $value =~ s/&lt;($Kyoka[$_]( [^>]+)?)&gt;/<$1>/gi;
  }
とか

くろっくぁ 1999/08/28(土) 22:37:57
ありがとうございました。
完璧にできました。

くろっくぁ 1999/08/28(土) 22:38:24
[[解決]]
解決チェックし忘れました。

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