Показать сообщение отдельно
  #1 (permalink)  
Старый 14.05.2009, 12:31
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Регулярка работает через раз.
Помогите пожалуйста отловить баг.

<script>

//-------------------------------------------------------------
var tshto_bylo = 'COLOR: #aaaaaa;color: #bbbbbb;color: #cccccc;color: #dddddd;color: #eeeeee;color: #ffffff"';

var tshto_najti = 'color';

var zamenjaemoe_znatshenie = 'test_projden';
//-------------------------------------------------------------


var reg = new RegExp('((^|;)\\s*)' + tshto_najti + '(\\s*:\\s*)([^;]*)((;)|$)','gi');

//((^|;)\s*)-начало строки или символ ";", за которыми могут быть пробелы
//(все это запомню и вставлю как подстроку "$1")


//(\s*:\s*)-возможные пробелы, за которым(и) идет символ ":", после чего опять возможны пробелы
//(все это запомню и вставлю как подстроку "$3")

//([^;]*)-возможен любой набор символов, кроме символа ";"

//((;)|$)-символ ";" или конец строки
//(символ ";" -если он есть - запомню и вставлю как подстроку "$6")

if (reg.test(tshto_bylo))
//--есть параметр, заменяю
{
var tshto_stalo = tshto_bylo.replace(reg,'$1' + tshto_najti + '$3' + zamenjaemoe_znatshenie + '$6');
}

window.alert(tshto_stalo);
</script>
Ответить с цитированием