Выражение регулярного выражения для 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)