• 締切済み

正規表現での表し方について

はじめまして。以下の正規表現を作成中ですが、上手くいきません。。 お力添えをお願い致します。 0.0~100.0の範囲にマッチする。 「マッチ」 00000 001 001.0 「アンマッチ」 -0.1 100.1 100. 1.0.0 .0 10.01 10.00 以上です。

みんなの回答

  • root139
  • ベストアンサー率60% (488/809)
回答No.2

数値的には0~100で、小数点以下の桁が1つまでのものということでよいでしょうか? #1さんのより、やや冗長ですが。 /^0*(?:100(?:\.0)?|\d{1,2}(?:\.\d)?)$/

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

Perl による正規表現の例: ^(\d+(?:\.\d)?)(?(?{$1 <= 100})|(?!))$

関連するQ&A

  • 正規表現について

    下記期待する結果通りになる正規表現を考えておりますが、 うまくいきません。教えて下さい。 期待する結果 hoge(fuga sumomo) マッチする hoge(foo(sumomo)) アンマッチする sumomoが()で囲われている hoge(bar()sumomo) マッチする 作成した正規表現 hoge\([^(]*sumomo[^)]*\) 実際の結果 hoge(fuga sumomo) マッチ hoge(foo(sumomo)) アンマッチ hoge(bar()sumomo) アンマッチ ←予想と違う

  • (?:系の正規表現

    perlの正規表現で以下の意味は、ABC01かABC99のみマッチするということでよいでしょうか? /^ABC(?:01|99)$/ (?:は$1など使用しない場合に用いるで正しいでしょうか? (?系の正規表現について知識不足ですが、一覧や詳しい書籍がありましたら教えてください。 昔、 /^ABC01|99$/ とかいて、ABC99がマッチせず、99がマッチしたので、|を使うときは、()を書いたのですが$1など変に作用させたくなかったので、最近(?:系の存在を知ってもっと詳しく知りたくなりました。 (?:はPerlの正規表現特有のものでしょうか?

    • ベストアンサー
    • Perl
  • 正規表現

    PHPのプログラミングの勉強をしています。 正規表現を使って?の1文字をマッチさせたいのですが http://hogehoge.com/?hoge=hoge などの/?の場合は正規表現でマッチさせないようにしたいのです。 宜しくお願い致します。

    • 締切済み
    • PHP
  • 正規表現について

    以下のようなファイル名にマッチする正規表現は [ファイル名] 20080303_001test.txt 20080303_002test.txt [正規表現] ^20080303_(001|002)test\.txt$ であってますでしょうか。 ※特に()内の、"001"と"002)test\.txt"のどちらかにマッチすれば良いという条件になってないか心配です。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 正規表現で分かりません

    例えば以下のようなパターンの正規表現チェックがあるのですが、 どのようなものを意味しているか分かりません。 教えていただけますでしょうか。 よろしくお願いします。 以下の情報は調べたのですが。 +(プラス)・・・直前の1文字の1回以上の繰り返しを表現 . (ピリオド)・・・改行コード以外の1文字にマッチするか否か [ ](大括弧)・・・囲みの中に書かれた任意の1文字にマッチするか否か ^([^ ]+) +[^ ]+.+S3.lzh

  • 正規表現について

    お世話になります。 ●●● ●●● という文字列かどうか判断する正規表現を作成したいです。 条件としては、 ・「文字1 (←全角スペース)文字2」という感じで、文字1と文字2に全角スペースが挟まれている感じで、文字列の先頭にも末尾にも空白文字は入ってはいけない(真ん中に1つのみ) ・文字1と文字2には、数字・空白以外の文字が入る(主に感じ・ひらがな・カタカナが入る)(文字数は一文字以上) といったところです。 自分で作成した正規表現は、 $pattern = '/^([\d\S])+ ([\d\S])+$/'; if( !preg_match($pattern,$chkStr) ) print "マッチしていない"; } なんですが、どうもマッチしてほしい文字にマッチしていないようなのです。 お手数ですがご教授ください。

    • ベストアンサー
    • PHP
  • 正規表現の初心者です

    正規表現初心者です。 なぜ、 [0-9]+ という正規表現が下記の112にあたらないのでしょうか? 0-9(数字)の一文字以上の繰り返しなので、複数桁の数字にマッチすると思ったのですが・・。 echo 112|grep -e "[0-9]+" > (マッチせず)

  • 正規表現について

    初歩的な質問で申し訳ないのですが、ただいま正規表現を勉強中で 「ほげほげほにゃらら」の「ほにゃらら」以外にマッチさせるには どのように記述すればいいのでしょうか? ちなみに、「ほげほげ」は変動しますので、「(....)」のようなマッチはできません。 否定なので、「/[^ほにゃらら]/」でいけると思ったのですが、まったくマッチしませんでした。 お分かりになる方がいらっしゃいましたらご教授下さい。 よろしくお願い致します。

  • 正規表現

    正規表現に疎いので質問させてください。 $param = ereg_replace('/?$', '', $_SERVER['REQUEST_URI']); これをpreg_matchで書くとどうなりますか? よろしくお願い致します。

    • 締切済み
    • PHP
  • 正規表現のマッチについて

    正規表現について質問させていただきます。 以下のデータがあるとします。 山田太郎(やまだたろう)(ヤマダタロウ) 一個目の『(』の前にタブを挿入したいのですが、一個目の『(』にのみマッチさせる正規表現の書き方を教えて下さい。