“搜索和替换”中正则表达式的 sqlite3 语法

JPG*_*JPG 5 sqlite

我可以使用 regexp 列出来自 Sqlite3 数据库的命中,但是使用 regexp 的“搜索和替换”的语法是什么。

Mar*_*tos 4

如果您正在考虑在替换字符串中使用反向引用,那是不可能的,据我所知。您执行更新,如下所示:

UPDATE foo
   SET bar = <some expr including baz>
 WHERE baz REGEXP <regex>
Run Code Online (Sandbox Code Playgroud)

但是分配的表达式必须依赖传统的字符串函数,例如replace(...)and substr(...)(或您自己的扩展函数)。无法调用REGEXP操作员找到的组。

'STOCK ID: '编辑:这是一个具体示例,它将列中前缀后面的数字股票 ID 解释item_key为股票编号:

UPDATE staff
   SET stock_number = CAST(substr(item_key, 11) AS INTEGER)
 WHERE item_key REGEXP '^STOCK ID: \d+'
Run Code Online (Sandbox Code Playgroud)