- ベストアンサー
perlでの検索機能
ホームページで使うPerlでの検索機能を作成しています。 メタキャラクタへの対応で検索対象文字には下記コードの置換を行っています。 「+」だけが上手く変換されないのは何故でしょうか。 (変換後を出力すると半角の空白になっています) $val =~ s/([\^\$\+\?\.\*\(\)\[\]\{\}\|\\])/\\$1/g; ※検索対象文字は「EUC」に変換しています。 また、上記コードに追加すべき文字が何かありますか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#25358
回答No.1
具体的にはどういう状況で使っているのでしょうか? こちらで試しましたが、"\+" となるべき文字が勝手に半角スペースに置き換えられてしまう、といった現象は確認できませんでした。 もしくは、$val の内容を、さらにURLデコーディングしていませんか?
お礼
早々のご回答ありがとうございます。 ソースを確認したら、フォームに入力された値を変数に 代入する際に、「+」を半角スペースに置換していました。 ありがとうございました。