meh*_*avi 1 php compare laravel
我有两个如下所示的数组
['*01***12*4**','0*****54*41*','***18*******','*2*7**3***1','***42*12*4**',...]
['128420120400','012189654700','321501481012','88114474111',...]
Run Code Online (Sandbox Code Playgroud)
我想比较两个数组的字符串而不考虑星号,并将相同的代码放入一个数组中(两个数组中代码的长度都是12)在上面的示例中,'***42*12*4**'和 '128420120400代码是相等的。我使用 php (laravel)
一种方法是使用正则表达式,其中*掩码字符串中的每个占位符都替换为\d,后者代表单个数字。
$mask = "***42*12*4**";
$input = "128420120400";
$regex = str_replace("*", "\d", $mask); // \d\d\d42\d12\d4\d\d
if (preg_match("/^" . $regex . "$/", $input)) {
echo "MATCH";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |