用sqlite3中的REGEXP替换字符串的一部分

前端之家收集整理的这篇文章主要介绍了用sqlite3中的REGEXP替换字符串的一部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我安装了REGEX支持
apt-get install sqlite3 sqlite3-pcre

现在我可以在bash控制台上的查询中使用REGEX了

DB="somedb.db"
REGEX_EXTENSION="SELECT load_extension('/usr/lib/sqlite3/pcre.so');"
sqlite3 $DB "$REGEX_EXTENSION select * from soMetable where name REGEXP '^[a-z]+$'"

但是如何使用正则表达式使用sqlite查询更新字符串?

默认情况下,sqlite不提供regex_replace函数.您需要将其加载为扩展名.以下是我设法做到的方法.

Download this C code for the extension (icu_replace)

使用编译它

gcc --shared -fPIC -I sqlite-autoconf-3071100 icu_replace.c -o icu_replace.so

并且在sqlite3 runn下面的命令post上面提到的命令已经运行并创建了一个文件icu_replace.so

SELECT load_extension(' path to icu_replace.so','sqlite3_extension_init') from dual;

在此之后,您将能够使用以下功能: –

select regex_replace('\bThe\b',x,'M') from dual;

猜你在找的Sqlite相关文章