我需要查看输入是否包含steam id。我试着看看我的preg_match是否有效。
$regex = "/^STEAM_0:[01]:[0-9]{7,8}$/";
if(preg_match($regex, 'STEAM_0:1:38401525'))
{
echo 'OK'; } else {echo 'ERROR';}
我在在线工具中尝试过它 https://regex101.com/r/nI0kQ7/1
出了什么问题?为什么它总是给我一个" ERROR" ?
答案 0 :(得分:1)
我已经测试了您的代码并且工作正常,这里是代码段
$regex = "/^STEAM_0:[01]:[0-9]{7,8}$/";
if(preg_match($regex, 'STEAM_0:1:38401525', $match))
{
echo 'OK'.PHP_EOL;
print_r($match);
} else {
echo 'ERROR';
}
这会产生类似
的输出OK
Array
(
[0] => STEAM_0:1:38401525
)
查看代码正在运行的Demo
和 here 正则表达式正在为您服务。
答案 1 :(得分:0)
你的代码很好我在php版本5.2 here上进行了测试并且给我确定,检查你的php编译器或者你熟悉的代码。
我无法从那里保存我的代码,但添加了您的问题代码以进行验证:
$regex = "/^STEAM_0:[01]:[0-9]{7,8}$/";
if(preg_match($regex, 'STEAM_0:1:38401525'))
{
echo 'OK'; } else {echo 'ERROR';}