2011-08-13 13 views
15

मैंनियमित अभिव्यक्ति मिलान में परिवर्तनीय कैसे रखें?

var string1 = 'asdgghjajakhakhdsadsafdgawerwweadf'; 
var string2 = 'a'; 
string1.match("\/"+string2+"\/g").length; 
इस मैं एक की appereance लगाना चाहते हैं के साथ

तो, लेकिन ITN wirking नहीं है, मैं कैसे चर राइट डाल सकते है?

उत्तर

34

आपको रेगेक्स शाब्दिक के बजाय RegExp कन्स्ट्रक्टर का उपयोग करने की आवश्यकता है।

var string = 'asdgghjjkhkh'; 
var string2 = 'a'; 
var regex = new RegExp(string2, 'g'); 
string.match(regex); 

आप वैश्विक संशोधक जरूरत नहीं थी, तो आप सिर्फ string2 गुजारें सकता है, और आप के लिए .match() regex पैदा करेगा।

string.match(string2); 
+1

आप चर को एक स्ट्रिंग के साथ जोड़ना चाहते हैं। उस स्थिति में किसी भी भागने वाले चरित्र को डबल-एस्केप किया जाना चाहिए। यदि आप एक अंक के बाद "ए" से मेल खाना चाहते हैं: 'var str = "abca1cba3a"; var खोज = "ए"; var re = new RegExp (खोज + '\\ d', 'g'); str.match (फिर से); // परिणाम: ['ए 1', 'ए 3'] ' – publicJorn

संबंधित मुद्दे