2009-06-26 18 views
5

में regexp के साथ कोई क्वेरी चलाने के लिए कैसे करें में के साथ Android का उपयोग करके मैं एक प्रश्न चलाने के लिए चाहता हूं। मैं यह कैसे कर सकता हूं?Android

उत्तर

5

दुर्भाग्यवश ऐसा लगता है कि एंड्रॉइड वर्तमान में एसकलाइट में उपयोगकर्ता फ़ंक्शन इंजेक्ट करने का एक तरीका प्रदान नहीं करता है, जो आपको REGEXP काम करने की आवश्यकता होगी (विशेष रूप से, आपको regexp() नामक उपयोगकर्ता फ़ंक्शन की आवश्यकता होगी) - इसलिए आपको अधिक व्यापक रूप से चयन करना पड़ सकता है (LIKE स्थिति के साथ जो आपके इच्छित रेगेक्सप से अधिक व्यापक है) और आगे अपने आवेदन में java.util.regex के साथ "वास्तविक" परिणाम (जो वास्तव में आप चाहते हैं कि regexp से मेल खाते हैं) को अलग करें।

-3

पैटर्न नियमित अभिव्यक्तियों को संकलित किया जाता है। कई मामलों में, सुविधा स्ट्रिंग.मैट्स, स्ट्रिंग.replaceAll और String.split जैसी विधियां बेहतर होंगी, लेकिन यदि आपको नियमित अभिव्यक्ति के साथ बहुत से काम करने की आवश्यकता है, तो इसे संकलित करने के लिए और अधिक कुशल हो सकता है एक बार और इसका पुन: उपयोग करें। पैटर्न वर्ग और उसके साथी, मैचर, स्ट्रिंग द्वारा उजागर की गई छोटी राशि की तुलना में अधिक कार्यक्षमता भी प्रदान करते हैं।

http://developer.android.com/reference/java/util/regex/Pattern.html

-2

मान लें कि आप फोन नंबर के साथ + शुरू करने या से संपर्क तालिका 0-9 की सीमा में प्राप्त करना चाहते हैं।

REGEXP '^[0-9].*|[+].*' 

sqlite3 क्वेरी

select * from Contact where name REGEXP '^[0-9].*|[+].*'