क्वेरी को टोकन करने के लिए एक जावास्क्रिप्ट नियमित अभिव्यक्ति हाय मैं नियमित अभिव्यक्तियों से संबंधित किसी समस्या पर ठोकर खा रहा हूं जिसे मैं हल नहीं कर सकता।क्वेरी
मैं क्वेरी (भागों में विभाजित क्वेरी), निम्न में से एक उदाहरण के रूप में लगता है tokenize की जरूरत है:
These are the separate query elements "These are compound composite terms"
मैं अंत में की जरूरत है 7 टोकन की एक सरणी के लिए है:
1) These
2) are
3) the
4) separate
5) query
6) elements
7) These are compound composite term
सातवें टोकन में कई शब्द होते हैं क्योंकि यह दोहरे उद्धरण चिह्नों के अंदर था।
मेरा प्रश्न है: क्या का उपयोग करके उपर्युक्त स्पष्टीकरण के अनुसार इनपुट स्ट्रिंग को टोकन करना संभव है?
संपादित
मैं Regex.exec
या इसी तरह के कोड के बजाय split
का उपयोग करते समय एक ही बात को प्राप्त करने की संभावना के बारे में उत्सुक था, इसलिए मैं कुछ जांच कि another question here के बाद किया गया किया गया है। और इसलिए एक प्रश्न के एक और जवाब के रूप में एक निम्नलिखित regex इस्तेमाल किया जा सकता:
(?:")(?:\w+\W*)+(?:")|\w+
के बाद एक-लाइनर उपयोग परिदृश्य के साथ
:
var tokens = query.match(/(?:")(?:\w+\W*)+(?:")|\w+/g);
आशा है कि यह उपयोगी होगा ...
ओह, मैं बजाय स्ट्रिंग ... – Lu4
बंटवारे के मूल्यों क्वेरी करने के लिए कोशिश कर रहा था लेकिन इस मामले में, आप के आसपास '" ये यौगिक समग्र अवधि हैं "' दोहरे उद्धरण चिह्न है। मैंने सोचा कि आपको कोई उद्धरण नहीं चाहिए। –
यह भी काम करेगा, मुख्य बिंदु प्रदर्शन – Lu4