1つ目は以下のっような文字列をすべて「; ja-JP」に置換したいと思っています。
; en-US
; en-GB
; pt-BR
; es-ES
; de-DE
2つ目は以下のっような文字列をすべて「; ja-jp」に置換したいと思っています。
; zh-sg
; zh-tw
; pt-br
; es-es
; de-de
このようにしても、エラーになってしまいました。
; [a_z][a_z]-[a_z][a_z]
いずれも、セミコロン、半角スペース、アルファベット2文字、ハイフン、アルファベット2文字、という文字列で、大文字か小文字かが違います。
エディタはサクラエディタをたまに使っています。
正規表現はほとんどわからないのですが、どのようにすればよいでしょうか?
よろしくおねがいします。
大文字小文字を区別する正規表現について
Re: 大文字小文字を区別する正規表現について
エラーになる,というのは何の情報も提供していません。C PHP さんが書きました:このようにしても、エラーになってしまいました。
; [a_z][a_z]-[a_z][a_z]
- 利用している正規表現エンジン (or 言語,アプリケーション,etc.)
- 実際に出てきたエラーメッセージ
とりあえず,範囲指定がしたいのであれば,_ではなく-だとは思いますが。
Re: 大文字小文字を区別する正規表現について
; [a-z][a-z]-[a-z][a-z] としてみたらどうなりますか?C PHP さんが書きました:このようにしても、エラーになってしまいました。
; [a_z][a_z]-[a_z][a_z]
下線ではなく、ハイフンです。
Re: 大文字小文字を区別する正規表現について
大文字にも対応する必要があるので、
[a-z][a-z]-[a-zA-Z]-[a-zA-Z]
なんていうのが登場する場面があるかもしれません。
[a-z][a-z]-[a-zA-Z]-[a-zA-Z]
なんていうのが登場する場面があるかもしれません。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 大文字小文字を区別する正規表現について
「以下のっような文字列」の定義がよくわからないですが、例えば
もしくは、一度で置換するなら、例えば
<?php
$str1 = <<<EOS
; en-US
; en-GB
; pt-BR
; es-ES
; de-DE
EOS;
$str2 = <<<EOS
; zh-sg
; zh-tw
; pt-br
; es-es
; de-de
EOS;
echo "----- str1 result -----\n";
echo preg_replace("/; [a-z]{2}-[A-Z]{2}/", "; ja-JP", $str1);
echo "\n----- str2 result -----\n";
echo preg_replace("/; [a-z]{2}-[a-z]{2}/", "; ja-jp", $str2);
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)