سؤال

هل هناك طريقة لتمرير متغير في regex في jquery / javascript؟

أريد أن أفعل شيئا مثل:

var variable_regex = "bar";
var some_string = "foobar";

some_string.match(/variable_regex/);

في روبي ستكون قادرا على القيام به:

some_string.match(/#{variable_regex}/)

وجدت وظيفة مفيدة:

كيف يمكنني الحصول على حرفي ريجيكس في جافا سكريبت؟

هل كانت مفيدة؟

المحلول 2

من السهل:

var variable_regex = "bar";
var some_string = "foobar";

some_string.match(variable_regex);

فقط تفقد //. إذا كنت ترغب في استخدام Regxes المعقدة، يمكنك استخدام سلسلة سلسلة:

var variable_regex = "b.";
var some_string = "foobar";

alert (some_string.match("f.*"+variable_regex));

نصائح أخرى

لا يدعم JavaScript الاستيفاء مثل Ruby - عليك استخدام RegExp البناء:

var aString = "foobar";
var pattern = "bar";

var matches = aString.match(new RegExp(pattern));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top