4
我可以使用正則表達式從Sqlite3數據庫中列出匹配,但是使用正則表達式搜索和替換的語法是什麼。「搜索和替換」中的正則表達式的sqlite3語法
我可以使用正則表達式從Sqlite3數據庫中列出匹配,但是使用正則表達式搜索和替換的語法是什麼。「搜索和替換」中的正則表達式的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+'
謝謝,但我不完全理解的格式,這一切是如何應用你在哪裏有<一些expr包括baz>和。你能完全註釋這個例子嗎?謝謝 –
JPG
2010-10-16 12:19:34
@JPG:我已經給我的答案添加了一個例子。 – 2010-10-17 06:22:49
+1用於鏈接到擴展功能。這是做OP的想法。 – 2010-10-17 07:29:58