正規表現で確認したい文字列があります。0 で始まることは許可されていません。そのため、次の例を参照してください。
012344 = invalid
3435545645 = valid
021 = invalid
344545 = valid
等
この正規表現は PHP ではどのように見えますか?
PS。これは正規表現ソリューションでなければなりません!
正規表現で確認したい文字列があります。0 で始まることは許可されていません。そのため、次の例を参照してください。
012344 = invalid
3435545645 = valid
021 = invalid
344545 = valid
等
この正規表現は PHP ではどのように見えますか?
PS。これは正規表現ソリューションでなければなりません!
REGEX は次のようになります。
^[1-9][0-9]*$
PHPコード:
<?php
$regex = "#^[1-9][0-9]*$#";
function test($value, $regex)
{
$text = "invalid";
if(preg_match($regex, $value)) $text = "valid";
return $value+" = "+$text+"\n\r";
}
echo test('012345', $regex);
echo test('12345', $regex);
?>
まあそれは単純でしょう/[1-9][0-9]*/
。次回は質問をよく調べてください。これも役に立ったかもしれません:正規表現テスター
編集:
ええ、アンカーがなく、間違っているように見えるため、答えは反対票を投じられました。完全を期すために、この正規表現で使用する php コードを投稿しました。いいえ、それは間違っていません。これは最もエレガントな方法ではないかもしれませんが、後で正規表現が文字列全体に一致したかどうかを確認するのが好きです。=== $value
理由の 1 つは、正規表現をデバッグして実際に一致したものを確認するには、後でコメントアウトする必要があるためです。return $matches[0]
<?php
function matches($value) {
preg_match("/[1-9][0-9]*/", $value, $matches);
return $matches[0] === $value;
}
//Usage:
if (matches("1234")) {
//...
}
?>