Выражение регулярного выражения для Mysql

У меня есть данные из твиттера, где мне нужно найти, присутствует ли слово «выключено» в твите, но удалить те строки, где «выключено» присутствует в любых дескрипторах твиттера. Эти упоминания могут быть в любом месте во всей строке твита, и такие случаи, как @offersforyou или @groffers, должны быть удалены, если 'off' присутствует где-либо в упоминании, т. е. в любом месте строки между @ и ближайшим к нему пробелом.

Я использую mysql версии 8.0.28 (вариант регулярного выражения ICU).

1 ответ

Скопировано из командной строки:

      Server version: 8.0.28 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> WITH cte AS ( SELECT '@offersforyou' txt UNION ALL
    ->               SELECT '@groffers' UNION ALL
    ->               SELECT 'offers' UNION ALL
    ->               SELECT 'off word' )
    -> SELECT txt, REGEXP_LIKE(txt, '\\boff\\b') FROM cte;
+---------------+-------------------------------+
| txt           | REGEXP_LIKE(txt, '\\boff\\b') |
+---------------+-------------------------------+
| @offersforyou |                             0 |
| @groffers     |                             0 |
| offers        |                             0 |
| off word      |                             1 |
+---------------+-------------------------------+
4 rows in set (0.03 sec)
Другие вопросы по тегам