preg_match を使用して 1 ~ 21 の数字を一致させたいのですが、preg_match を使用してこれを行うにはどうすればよいですか? 数が 21 より大きい場合、何にも一致させたくありません。
example preg_match('([0-9][0-1]{0,2})', 'Johnathan 21');
preg_match を使用して 1 ~ 21 の数字を一致させたいのですが、preg_match を使用してこれを行うにはどうすればよいですか? 数が 21 より大きい場合、何にも一致させたくありません。
example preg_match('([0-9][0-1]{0,2})', 'Johnathan 21');
上記のコメントからコピー:
単純に一致させ([0-9]{1,2})
(入力形式に基づいて でラップすることもでき\b
ます)、後で PHP コードで数値をフィルタリングすることをお勧めします。
この件に関する Raymond Chen の考えも参照してください。
文字通り:
preg_match('~ (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21)$~', 'Johnathan 21');
しかし、おそらくこれはもっと気の利いたものです:
preg_match('~ ([1-9]|1[0-9]|2[01])$~', 'Johnathan 21');