- 締切済み
Perl パターンマッチについて
$dm = a1234 $dm =~ tr/[a-zA-Z]//d; $dm は 「1234」になりますが、 $dm =~ tr/[^0-9]//d; これだと 「a」 になってしまうのは何故でしょうか?
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- Perl 変換について
$dm1の値は変化させずに$dm2に変換後の数値を入れるにはどのようにしたら良いでしょうか? $dm1 = a1234 $dm2 = $dm1 =~ tr/[a-zA-Z]//d; ※これだとうまくいかない。 結果以下のようにしたい。 $dm1 = a1234 $dm2 = 1234
- 締切済み
- Perl
- perlでurlが正しいか判定したい
perlでホームページのURLが正しいか判定したいのですが、ネットで調べていても出てくるのがメールアドレスの判定方法ばかりで、ホームページに関してのことがなかなか見つかりません。 if($url !~ /^https?:\/\/[\w\.-~\?&=\/]{4,}/) { } こんな感じで適当にやっていたのですが、なぜか ,(カンマ) のチェックをスルーしてしまったりと思うように制御できておらず、 http://www.din.or.jp/~ohzaki/perl.htm#httpURL このページを読んでもちんぷんかんぷんで、とりあえず if($url !~ /\b(?:https?|shttp)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f ][0-9A-Fa-f])*@)?(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.) *[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\. [0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f] [0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A- Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f ])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*) *)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f]) *)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])* )?/){ } こんな感じで代入してみても予想どおり構文エラーとなってしまい、どうやればいいのか困っています。(あまりの長さに理解できていないためエスケープも一切させてないので、エラーが出て当然といえば当然ですが) そこまで厳密にでなくてもかまわないのですが、ホームページのURLに間違いがないかチェックする方法はないでしょうか。 (特に . と , や : と ; や ~ と ^ の入力間違い、スペースが入っていないかとか全角入力になっていないかなどをチェックしたいです)
- ベストアンサー
- Perl
- jcode.plのかわり
jcode.plの jcode::tr() のかわりを探しています。 jcode.plの jcode::tr(\$val,'0-9A-Za-z ()_@-','0-9A-Za-z ()_@-'); をPerl5.18.2で使用するとエラーが出てしまいます。これを回避したい。 プログラムがUTF-8であれば $val =~ tr/0-9A-Za-z ()_@-/0-9A-Za-z ()_@-/; のようにすれば実現可能みたいですが、プログラムはEUCで書かれています。 影響範囲からプログラムの文字コードをかえることはできれば避けたい。 一文字ずつ変換することも考えましたが、この方法ではパフォーマンスに懸念があります。 jacode.plなるものもありますが、これに置き換えるだけでは文字化けしてしまいました。 jcode::tr()のかわりになるような手段はあるのでしょうか?
- ベストアンサー
- Perl
- .htaccess の RewriteRule で、引数が10個以上あ
.htaccess の RewriteRule で、引数が10個以上ある場合の書式について .htaccess に、下記のように記述をしています。 長ったらしいですが、要するに引数を16個渡したいのです。 RewriteRule ^example_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+)_([0-9A-Za-z\-]+).html$ example.php?VAR01=$1&VAR02=$2&VAR03=$3&VAR04=$4&VAR05=$5&VAR06=$6&VAR07=$7&VAR08=$8&VAR09=$9&VAR10=$10&VAR11=$11&VAR12=$12&VAR13=$13&VAR14=$14&VAR15=$15&VAR16=$16 ですが、こう書くと、例えば「VAR16=$16」の「$16」は「$1 と "6"(文字列としての6) を連結したもの」と解釈されてしまうらしく、うまく表現できません。 10個以上の引数を渡したい場合、どう記述すれば良いでしょうか。
- ベストアンサー
- PHP
- mod_rewriteでの'?'表示
http://www.example.com/search.cgi?a=mypage&b=go&c=1&d=2 を、 http://www.example.com/mypage/go/search?c=1&d=2 に変えたいですが、どのようにすればよいのでしょうか? htaccessでは・・・ Options +FollowSymlinks RewriteEngine on RewriteRule ^/([0-9A-Za-z]+)\/([0-9A-Za-z]+)\/search?c=([0-9A-Za-z]+)&d=([0-9A-Za-z]+)$ /search.cgi?a=$1&b=$2&c=$3&d=$4 [L] にしてもアクセスできません… APACHEマニュアルでは「?」は文字数指定と言う文法に なるらしく、「?」を表示させたいです。 http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteRule どうすればよろしいでしょうか?ご教示ください。
- ベストアンサー
- その他(プログラミング・開発)
- VBScriptでの正規表現パターンマッチ
ASPプログラムの中で 文字列のパターンマッチを正規表現で行ないたいと考えています。 英字と数字両方を組み合わせた文字列(英字と記号且つ数字)であることをチェックしたいのですが 以下のようなロジックでは、英字、数字どちらかだけの文字列もマッチしてしまうのではと思います。 ほかによい書き方はありますでしょうか? Dim strTEST TESTCHECK = 0 Dim objRE Set objRE = new RegExp objRE.pattern = "[_\-a-zA-Z0-9]" If (objRE.Test(strTEST) = True) Then Else TESTCHECK = 1 End If Set objRE = Nothing よろしくお願いいたします。
- 締切済み
- Microsoft ASP
- Perlにおけるパターンマッチ
パターンマッチの勉強をしていたところ 偶然「ちょう」という言葉を以下のように書くとひっかからないことに気づきました。 なぜ「ちょう」という日本語だとひっかからないのでしょうか? また「ちょう」がパターンマッチにひっかかるようにするのにはどうすべきなのでしょうか? if($word =~ /ちょう/){ { &error("エラー","「ちょう」という言葉は使用できません"); }
- ベストアンサー
- Perl
- 正規表現の書き方について質問します。
/[-_\.a-zA-Z0-9]+\@[-_\.a-zA-Z0-9]{3,}\.[a-zA-Z]{2,3}$/ 上記の最後の $ の使い方はあっているのでしょうか? プログラム自体は期待通りの動きをします。 宜しくお願いします。
- 締切済み
- Perl
- 全角英数字を半角英数字に変換したい
全角英数字を半角英数字に変換する方法を教えて下さい。 $data =~ tr/0-9a-zA-Z/0-9a-zA-Z/; 以上のようにした場合、J-perl意外では望みどおりに変換されません。 jcode.plをつかって 全角英数字を半角英数字に変換する方法があると、 書かれていた方がいましたので、 できればjcode.plをつかった場合の 具体的なスクリプトの書き方を教えて下さい。 よろしくお願いいたします。
- ベストアンサー
- Perl
- perlでランダムな文字列を作りたい
perlでランダムな文字列を作成する簡単な方法はありませんか? 文字数と文字種を指定できるとありがたいのですが。 $foo = hoge(8,'a-zA-Z0-9'); みたいな感じでできるといいのですが。 お願いします。
- ベストアンサー
- Perl
- easy-photoprint editorをインストールしたが、利用方法の収集についての画面が表示されて操作できない
- 画面サイズの変更や同意や不同意の意思表示もできない
- インストールとアンインストールを繰り返しても改善されない。最後にVER.数字を変えると改善するのか