В моем случае используется администратор firebase,
const admin = require('firebase-admin');
, и я могу завершить процесс узла с помощью
return admin.app().delete();
Вы получаете разные результаты, потому что два регулярных выражения не идентичны.
(^| )
означает: либо начало строки, либо пробел (( |$)
имеет то же значение в конце строки).
[[:<:]]
и [[:>:]]
- это границы слов : концептуально это относится к символам, которые разделяют слова, и обычно движки регулярных выражений интерпретируют его как нечто вроде: что угодно, кроме цифры, буквы или подчеркивание.
Таким образом, в основном первый шаблон является более строгим, чем второй (пробел, начало и конец строки - это границы слов, но есть и другие).
Если у вас есть более одного ключевого слова для поиска, вам нужно будет повторить совпадения с регулярным выражением, например:
WHERE
".$source." RLIKE '[[:<:]]".$keyword1."[[:>:]]'
OR ".$source." RLIKE '[[:<:]]".$keyword2."[[:>:]]'
Или создать новое регулярное выражение, комбинируя ключевые слова:
WHERE
".$source." RLIKE '[[:<:]](".$keyword1.")|(".$keyword2.")[[:>:]]'
Примечание: для требования поиска вам следует рассмотреть возможность использования Полнотекстового поиска MySQL , который в первую очередь предназначен для поиска полных слов (хотя есть предварительные условия).