Php 检测以数字开头的字符串

Php 检测以数字开头的字符串,php,regex,Php,Regex,我浏览了互联网,但找不到一个例子。 我在理解正则表达式方面确实有问题。 我想要一个正则表达式条件,用于检查字符串是否以数字开头。 如何在PHP中实现这一点 提前感谢 ^表示字符串的开头 \d表示数字 您指的是数字,不是数字。数字表示任何类型的数值,包括它不匹配的负数。数字表示单个数字,通常为0-9。您的场景只考虑非负实数。根据后编辑,学究奖授予@BLaZuRE!;-)不过说真的,+1你是对的。无论如何,^-?(\.\d |\d)将关注字符串是否以负数和正数开头。也就是说,假设你对复数也不感

我浏览了互联网,但找不到一个例子。 我在理解正则表达式方面确实有问题。
我想要一个正则表达式条件,用于检查字符串是否以数字开头。
如何在PHP中实现这一点

提前感谢


  • ^
    表示字符串的开头
  • \d
    表示数字

您指的是数字,不是数字。数字表示任何类型的数值,包括它不匹配的负数。数字表示单个数字,通常为0-9。您的场景只考虑非负实数。根据后编辑,学究奖授予@BLaZuRE!;-)不过说真的,+1你是对的。无论如何,^-?(\.\d |\d)将关注字符串是否以负数和正数开头。也就是说,假设你对复数也不感兴趣。就因为我被告知我很迂腐,你可能会错过正则表达式中的
+
。我认为它被省略了,因为它是隐含的,但是有可能有一个数字是
+42
。不仅仅是
-42
。我不是数学家,所以我可能错了。而且,它没有捕捉到像3.14这样的数字。对于以10为基数的实数,我会使用
^(+|-)?\d*\.?\d+
。注意,这允许将零表示为正或负。对不起,我很无聊。非常讽刺的是,我浏览了互联网。无论如何,你显然需要学习正则表达式。您可以从或甚至从中学习,摆弄它,当您陷入困境时搜索它。在这种情况下,检查字符串的第一个字符是否是数字字符最好使用语言构造而不是正则表达式。
<?php

$string = "42foobar";

if (preg_match("/^\d/", $string)) {
    echo "string match was found.";
} else {
    echo "string match was not found.";
}
?>