“搜索和替换”中的正则表达式的sqlite3语法
答
如果您正在考虑在替换字符串中使用反向引用,那是不可能的,AFAIK。你做一个更新,具体如下:
UPDATE foo
SET bar = <some expr including baz>
WHERE baz REGEXP <regex>
但分配的表达将不得不依靠传统的字符串函数像replace(...)
和substr(...)
(或您自己的extension functions)。没有办法调用REGEXP
运算符找到的组。
编辑:下面是解释在item_key
列股票编号如下前缀'STOCK ID: '
数值股票ID的具体的例子:
UPDATE staff
SET stock_number = CAST(substr(item_key, 11) AS INTEGER)
WHERE item_key REGEXP '^STOCK ID: \d+'
谢谢,但我不完全理解的格式,这一切是如何应用你在哪里有和。你能完全注释这个例子吗?谢谢 –
JPG
2010-10-16 12:19:34
@JPG:我已经给我的答案添加了一个例子。 – 2010-10-17 06:22:49
+1用于链接到扩展功能。这是做OP的想法。 – 2010-10-17 07:29:58