2014-01-03 3 views
2

У меня возникли трудности с регулярным выражением, у меня есть таблица продуктов, которые из одного из ее полей являются периодом. Я хочу отфильтровать записи на период, введенный пользователем в моем приложении. , например, период может быть 2006-2012 годы или просто 2006-Регулярное выражение с использованием sqlite в android

Я хочу, чтобы отфильтровать все записи, которые содержат только шаблон 2006-

Я пытался много примеров, но, к сожалению, ничего не работает должным образом

это мой код

Cursor c = rDB.rawQuery("select title,price from Products,UserProducts where UserProducts.product_code=Prodcuts.product_code and USER_EMAIL=? and Products.period like '%[0-9]+%' group by UserSeries.product_code order by Products.title asc", new String[]{email}); 
while(c.moveToNext()) 
{ 
     //save the records 
} 

ответ

4
Products.period like '%[0-9]+%' 

LIKE не работает с регулярными выражениями.

Чтобы использовать регулярное выражение, используйте оператор REGEXP. Обратите внимание, что по умолчанию REGEXP operator is not implemented, хотя синтаксис поддерживает его.

Для более точных согласований вы также можете рассмотреть GLOB.

Я хочу, чтобы отфильтровать все записи, которые содержат только шаблон 2006-

Вам не нужно регулярное выражение для этого.

Products.period like '2006-%' 

будет соответствовать что-нибудь, где period начинается с строки 2006-.


Я имел в виду любой год с "-" символ в конце

Products.period like '%-' 

будет соответствовать что-нибудь, где period заканчивается строкой -.

+0

Я имел в виду любой год с символом «-» в конце концов, с регулярным выражением я получаю исключение исключение android.database.sqlite.SQLiteException: рядом «Regex»: ошибка синтаксиса (код 1) и Глоб я не получать никаких записей из курсора –

+0

'REGEX' не' REGEXP'. Но в любом случае это не поддерживается. Синтаксис шаблона 'GLOB' отличается и похож на' LIKE' с точки зрения выразительной мощности. Обновлен ответ. – laalto

+0

Я снова проверил таблицу и странно, что периоды содержат ÇÇô и not-character –

Смежные вопросы