php - 使用正则表达式检查带有破折号的数字
问题描述
如果我需要一个字符串来匹配此模式:“ *- -***”、“123-12-123”、“123-1”,我将如何检查字符串以确保它适合 PHP?
我想确保字符串符合以下任何模式:
"***-**-***"
"123-12-123" (ONLY NUMERIC WITH -)
"123-1" (ONLY NUMERIC WITH -)
解决方案
例如,你可以找到所有没有正则表达式的数字
$numbers=sscanf('123-12-123','%d-%d-%d');
print_r($numbers);
输出
Array
(
[0] => 123
[1] => 12
[2] => 123
)
如果你想用正则表达式得到它,你可以用下面的代码来做
$re = '/\d{3}-\d{2}-\d{3}/m';
$str = '123-12-123';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
推荐阅读
- typescript - 如何指定仅将相关属性分配给类实例?
- java - 我的电话录音服务不断崩溃
- raspberry-pi - 如何为传输守护进程更改添加的 torrent 文件位置
- java - 对地图进行排序
通过 Object.attribute [Java] - ruby-on-rails - 载波中不允许的参数用于单个文件上传
- css - 是否有定位的简写属性?
- powershell - 单击红色X后Powershell窗口需要很长时间才能关闭
- android - 有没有办法备份android库数据
- php - php 中的 2 个日期未正确显示日期
- ssl - 如何使用 Jetty ProxyServlet 处理 SSL 的“连接”请求