2013-09-13 6 views
0

У меня есть эта функция:Невозможно изменить регулярное выражение строку

function tagCheck(tag:String,rez:String):String{ 
    var regExp:RegExp = /\[user_id\](.*?)\[\/user_id\]/g; 
    var matches:Object = regExp.exec(rez); 
    return matches[1]; 
} 

Я хочу изменить «user_id» с тэгом, как я могу это сделать, потому что нет строки в РегВыр? Спасибо!

+0

Что вы имеете в виду под биркой? Каким будет «тег»? – putvande

+0

вы можете показать нам, что вы пробовали, пожалуйста, – Cherniv

+0

'/ \ [tag \] (. *?) \ [\/Tag \]/g' ???? – h2ooooooo

ответ

0

Вы можете создать регулярное выражение, просто создав новый класс RegExp.

функция RegExp общественности (Re: String, флаги: String)

function tagCheck(tag:String, rez:String) : String { 
    var tagRegex:String = tag.replace(new RegExp('[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\' + ('\/' || '') + '-]', 'g'), '\\$&'); 
    var regExp:RegExp = new RegExp('\\[' + tagRegex + '\\](.*?)\\[\\/' + tagRegex + '\\]', 'g'); 
    var matches:Object = regExp.exec(rez); 
    return matches[1]; 
} 

Должно работать (хотя непроверенные). The first line is to make sure that a tag called my.tag gets changed into my\.tag.

+0

спасибо за сообщение, мой второй параметр «rez» - это строка, которую нужно разделить. это примерно так: «[user_id] 34 [\ user_id]», – tziuka

+0

@ user2465147 Да? В чем ваш смысл? Он используется в 'regExp.exec (rez)'? – h2ooooooo

+0

он работает ... большое спасибо !!! :) хорошая работа! – tziuka

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