On Sep 17, 2010, at 11:12 AM, Michael Bayer wrote: > > On Sep 17, 2010, at 10:58 AM, Michael Bayer wrote: > >> >> On Sep 17, 2010, at 9:14 AM, Michael Hipp wrote: >> >>> On 9/14/2010 2:23 PM, Michael Hipp wrote: >>>> Is it possible to use a regexp in a like() clause? Or some other way to >>>> achieve >>>> something similar? >>> >>> Can anyone suggest an approach to search a field with a regexp? >> >> if you were using Postgresql, you could use somecolumn.op("~")(someregexp) >> >> http://www.postgresql.org/docs/8.4/interactive/functions-matching.html#FUNCTIONS-POSIX-REGEXP >> >> cant speak for other platforms though you'd have to consult their >> documentation. > > > PG also supports MATCH since I see we have some unit tests for that, i.e. > column.match(other). I'm not seeing offhand in PG's docs what it > interprets the "MATCH" operator as, i.e. is it a "~", "SIMILAR TO", not sure. > > I guess the reasons I've never had interest in regexp matching in databases > are: > > 1. its always bad to search through tables without being able to use indexes > 2. if you're needing to dig into text, it suggests the atoms of that text > should be represented individually in their own column (i.e. normalize) > 3. no really, I'm doing flat out full text searching on documents and don't > want to reinvent. Well then I'd use a full blown text extension > (http://www.postgresql.org/docs/8.3/static/textsearch.html) or a separate > search engine.
The SQLAlchemy "match" operator compiles to PostgreSQL full-text search (@@ to_tsquery). test/dialect/test_postgresql.py Cheers, M -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.