View Issue Details

IDProjectCategoryView StatusLast Update
0007244MediaMonkey (current)Framework: Scripts/Extensionspublic2020-07-01 13:35
Status newResolutionopen 
Product Version 
Target Version4.1Fixed in Version 
Summary0007244: Regular expressions in SQL needed
DescriptionSQLite allows adding of custom functions. It even has reserved REGEXP operator, but it requires adding of regexp() function to the database engine. It would be nice if you add such thing since it would allow very powerful SQL queries.
TagsNo tags attached.
Fixed in build


related to 0016746 assignedpetr Implement the latest SQLite, or at least 3.25.0, which have window functions added 



2011-04-10 22:51

developer   ~0024196

Reminder sent to: jiri, petr

I wonder how I will reflect to MM speed, But REGEXP is surely know of its powers.


2020-06-23 09:41

updater   ~0058633

I doubt that adding such thing could affect the speed of MM if it is not used by program internally. In fact, I am pretty sure that even the program itself could see a benefit of such added functionality.

There is available code for it, I suppose you just need to compile it and include it in the SQLite dll engine:

There are other implementations as well, I suppose they are even better since the previous one is quite limited, but I haven't checked them. For example, it seems that this one based on PCRE looks promising:

And if you really decide to implement RegExp, then it would be nice if you add the Regex Replace function as well:


2020-07-01 11:51

administrator   ~0058715

As much as I'd like to have regexp in Sqlite, the proper implementation would probably be non-trivial (full Unicode support, without the need to include complete icu library). I'd rather keep relying on scripting implementation of regexp and possibly try to use this implementation in Sqlite in the future (which would probably be non-trivial, but possible).


2020-07-01 13:35

updater   ~0058717

Yeah, I helped implementing a TPerlRegEx class based on PCRE library into one text processor and I know this is not a trivial task. But it is doable and it supports Unicode characters without any problem. For example, I could use [^\x00-\xff] with it to find all non-ANSI characters quite well.