MySQL 正则表达式替换

先说结论: 对于 MySQL 8+, 用REGEXP_REPLACE()函数 对于 MySQL 5 及以前版本,用用户自定义函数 (user-defined function,简称UDF),如:mysql-udf-regexp 本文只说明 MySQL 8+ 中REGEXP_REPLACE()函数的用法,不对 UDF 进行说明,请自行参考 GitHub 链接。 用法 REGEXP_REPLACE(expr, pat, repl[, pos[, occurrence[, match_type]]])…

PHP正则表达式获取SQL语句中的表名

有一个SQL语句集合,里面可能有select、select ... left join、update、delete、insert。 要从这语句集合中获取到所有的表名,该如何做呢? 代码如下, <?php class SqlLog { // SQL语句 private static $sql = []; // UPDATE 正则条件 private static $updateExpression = '/UPDATE[\\s`]+?(\\w+)[\\s`]+?/is'; // INSERT 正则条件 …

PHP和JavaScript正则匹配所有字符(包括换行符)的差异

在PHP和JavaScript中,正则表达式匹配所有字符(包含换行符)是不一样的。 假设有这样的字符串: Hello, PHP, JavaScript 现在,我们要从里面中找出后面两行,也就是多行查找。 1 PHP实现 在PHP中,这样写: $str = 'Hello, PHP, JavaScript'; $find = ''; preg_match('/PHP.*?Script/is', $str, $find); print_r($find[0]); 其中, i标…