В БД у меня есть несколько строк, таких как:
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...