Perlの正規表現で全角スペースというのは一般には空白文字とは区別するのですか?

[上に] [前に] [次に]
じぇい 1999/06/07(月) 23:26:59
とぼけた質問をしますが、、Perlで正規表現を使っていて思ったのですが、メタ文字の\sには全角スペースは含まれないのですか?
、、としたら、もし、空白文字すべてを削除するような処理をする場合には、

$message =~ s/\s| |/g;

というような作業をしなければいけないのでしょうか?

じぇい 1999/06/07(月) 23:28:08
失礼。記述ミスです。(、、なぜ、、いつもしてしまうのだろう。。すいません。)

$message =~ s/\s| /g;

こうです。

ふじ 1999/06/07(月) 23:50:26
>メタ文字の\sには全角スペースは含まれないのですか?
含まれないです。
#JPerlは・・・知らない。

>$message =~ s/\s| /g;
漢字コードにも気を付けて。
上記のように書く場合は、スクリプトを記述した漢字コードと、
入力された文字のコードが同じでないと、まともに動きません。

じぇい 1999/06/08(火) 00:59:45
[[解決]]
どうもありがとうございました。

>スクリプトを記述した漢字コードと、
>入力された文字のコードが同じでないと、まともに動きません。

要するにjcode.plでsjisに統一して、自分がスクリプトを書く際にsjisで記述すればいいということですね。、、?

B-Cus 1999/06/08(火) 01:02:59
> 含まれないです。
> #JPerlは・・・知らない。
同じく含まれません。

> 失礼。記述ミスです。(、、なぜ、、いつもしてしまうのだろう。。すいません。)
> $message =~ s/\s| /g;
> こうです。
それでも文法エラーになりますね。

投稿する前にローカルで一度動かしてますか? 僕は常に動作チェックしてから
書き込んでますが(でもたまに間違うけど(^^;)

じぇい 1999/06/08(火) 02:18:05
あっ、、すいません。
実際のスクリプトでは、

$d_msg =~ s/\s| |(<[^>]*>)|(&lt;.*?&gt;)//g;

この通りの記述を行っています。
書き写すときに間違えてしまいました。^^;
これからはもっと注意深くします。

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