![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.3ベストアンサー
- 回答日時:
Shift_JIS コードを使っている場合、パターンマッチ以前の問題として、日本語文字列に uc を適用するとその時点で文字化けの可能性があります。
$name = "テニスコート";
$name = uc $name;
print "$name\n"; # ウカスコーエ
元の文字列を大文字化せずに正規表現に /i フラグを付ける対応策があるのですが、この場合も正規表現に日本語文字列が含まれていると問題があります。日本語文字は2種類の文字にマッチしてしまうものが多数あります。"テニスコート" の例では "ー" 以外の文字が2種類の文字にマッチするので、32 (2 の 5 乗) 種類の文字列とマッチすることになります。
対応策としては、"テニスコート" は index で、"TENNIS" は正規表現の /i フラグで処理するのがいいと思います。
if (index($name, "テニスコート") >= 0 or $name =~ /TENNIS/i) {
push(@error, 'テニス関係は入力できません');
}
具体的に説明してくださり、ご親切にありがとうございますm(_ _)m
/iで実験してみたのですが、kumozさんご指摘の通り、
関係ない日本語にもマッチしてしまい、どうするべきか考えていた次第です。
とても参考になりました。この方法で対応させていただきます!!!
No.2
- 回答日時:
それだけなら「大文字・小文字の区別を無視してマッチ」させればいいだけ. わざわざ大文字に直す必要はない.
そして本題については #1 にも書いたけどほぼ間違いなく文字コードがらみなので, 使ってる文字コードだったり use などによる文字コードの指定などを見直すこと.
二度もどうもありがとうございます。
/iでマッチさせる方法を知っていたにもかかわらず
思いつきもしなかった自分の力量のなさを痛感しました。
文字コード見直ししたいところですが、
かなり複雑に見直しが必要なのでどうにかならないか考えていました。
ほんとありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Ruby パイソンプログラミング 2 2022/12/03 18:44
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- MySQL addcslashesの使い方について教えてください。 DBに繋げてそこから、部分一致させたいのです 1 2023/04/14 22:59
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php初心者ですメールについて教...
-
CSVファイルの中で、「 , 」カ...
-
英数字のみ全角から半角に変換
-
Excel VBAでPDFファイルをMicro...
-
EXCELからCSVにすると余計なカ...
-
エクセルで数値を全角文字(カ...
-
[VBScript]バイト長の判定
-
全角/半角キーをSendkeys関数で...
-
全角英数字の必要性が理解できない
-
住宅にカナを入力する際に丁目...
-
VBA EXCEL あるセルの中の一...
-
メールのcsv添付ファイルの種類...
-
VBAで「,」⇒「.」へ置換後、タ...
-
全角入力
-
VBA 置換文字がみつからない時
-
全角スペース
-
プログラミングでは、半角括弧...
-
perl 初めてのプログラムにエラ...
-
ACCESS VBA でのバイナリデー...
-
○文字目に文字挿入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現 URL抽出「 [\\/\\b]{0...
-
シェルスクリプト [[ $number =...
-
正規表現について VB6
-
正規表現について
-
日本語環境下でのバックスラッ...
-
正規表現で2種類ある括弧を区別...
-
perlの正規表現で量指定子を繰...
-
perl初心者です。
-
言語ではなく、正規表現のみで...
-
正規表現の展開
-
正規表現
-
正規表現について教えてください
-
正規表現が解読できません。
-
pythonの正規表現、全角カタカ...
-
行末の正規表現について。
-
正規表現。行頭が○○以外にマッ...
-
配列内の要素をパターンマッチする
-
置き換えについて
-
【GVimの正規表現における検索...
-
「?」が含まれるマッチについて
おすすめ情報