• ベストアンサー

「Perl 互換の正規表現の POSIX API」の日本語対応

環境は OS:Windows XP, コンパイラ:C++Builder6 です。 C++Builder6 付属の正規表現ライブラリ (「Perl 互換の正規表現の POSIX API」というもののようです) を使ってプログラミングしています。 このライブラリは日本語対応していないらしく、パターンを /[  ]/ ([]の中には全角空白1個と半角空白1個が書かれています) にしてコンパイルしマッチングを行うと、「@」や 「香」の第2バイトがマッチしてしまいます。 全角空白または半角空白だけにマッチするようにするには どうすれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • fruit893
  • ベストアンサー率68% (15/22)
回答No.2

/( | )/ とすれば、大半のケースで動くようになると思います。 (から|までの間には全角空白1個、 |から)までの間には半角空白1個があります。 ただ、完全対応するのならば、EUC-JPやUnicodeを使うのがよいでしょう。

gba02077
質問者

お礼

( | ) で解決できました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

もしかすると、Unicode(UTF-8)には対応してるかもしれないので、文字列をUTF-8に変換してマッチさせてみては。

gba02077
質問者

お礼

冒頭の質問とは別に UTF-8 について勉強してみます。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A