在 PHP 中按掩码查找字符串


find string by mask in php

在数据库中,我有一些字符串,例如:

1. BBD0G.ABAEBABGBAB-AAL----BA.LLRV--B--B--.H----A---
2. BBD0G.AAAEAAAGAAA-NAL----CA.LLRV--------.H----A---
3. BBD0G.AAABCBAGAAA-A--------.LLRV------A-.H--------

所有字符串的长度相同。

如何根据掩码找到所有字符串,例如:

*******B*****************B************A***********

它不应该是基于值位置的规则,而应该是基于整个掩码的一般规则。

谢谢!

尝试使用 sql 查询进行筛选。例如:

SELECT * FROM table_name WHERE column_name LIKE '_______B_________________B____________A___________';

通配符 _ 正好是一个字符。有关详细信息,请参阅:https://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html

$template = "'*{7}B'*{17}B'*{12}A'*{11}";
$your_db_string = ...
$result = preg_match($template, $your_db_string);
// check $result...