• ベストアンサー

正規表現で「10以上」を指定したいです。

正規表現について教えてください。 「10以上」という指定をしたいのですが [01]?[0-9][0-9]とすると00~199となって良いのですが 10もはいってしまいます。 「10以上」という考え方が良いのか「11から」と考えた方が良いのかもわかりません。 数字が二個以上という指定をすると 9.5なども含まれてしまいましたので なんとか「10以上」または「11から」の指定ができないでしょうか。 ちなみに上限は999です。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.2

こんにちは >「10以上」という指定 >X-NAI-Spam-Score:10 >ちなみに上限は999です。 >9.5なども  正規表現は、左側から文字列を評価することと、パターンマッチングでは制限のない3桁と2桁なら表現できるが3桁と2桁の要求事項違うので分けて考えた方がよいこと、小数点以下は評価する必要がない。  以下の単純な正規表現を考えてみました。 :[ ][1-9][0-9][0-9] :[ ][1-9][0-9]

lossless
質問者

お礼

どうもです。 またまた早速のご回答ありがとうございます。 うまくいきました(^^ゞ お忙しい中、有り難うございました。

その他の回答 (1)

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.1

こんにちは  「正規表現」というのは、文字列の「パターン・マッチング」に使われる技術です。  質問者さんのおやりになりたいことは、文字列のパターンマッチングではなく数値の範囲指定だと思いますので、基本的に正規表現では無理です。  ただ、「10以上なら」10未満の1文字だけにマッチさせる(9以下)パターンなら^[0-9]$と書けます。 これでデータ削除処理すれば(マッチしたら除外)、目的は達成できる(^^;?

lossless
質問者

お礼

早速のご回答有り難うございます。 実をいうとスパムメールの判定につかいたいのですが サーバ側で自動でメールのヘッダ部分に X-NAI-Spam-Score:10 が追加されるのです。 この10というのがスパム点数らしく10以上を 迷惑メールフォルダに移動したいのですが 中には X-NAI-Spam-Score:3.5 などがあり単純に「数字が2個」という指定はダメだったのです。 で、今ご回答を見ながら思ったのですが [01]?[0-9][0-9]でOK??のような気もしてきました。 どうでしょうか?

関連するQ&A