Видях някои публикации за предупреждения за JSLint „лош изход“, но просто исках да видя дали правя този регулярен израз правилно. (Забележете - аз съм програмист-професионалист).
Имам функция (по-долу), която се опитва да анализира променлива от нейното име в дълго съобщение. Регулярният израз работи добре, но трябва ли да променя нещо в отговор на предупреждението JSLint?
Една много опростена версия на msg може да изглежда по същество така:
Име на променлива1 = Стойност1
Име на променлива2 = Стойност2
Име на променлива3 = Стойност3
Действителното съобщение има различни неструктурирани данни отгоре и отдолу. Трябваше да използвам странен Regex, тъй като въпреки че по-простият работеше на всички уебсайтове за тестване, той не работеше в сървърното приложение, което използваме, така че това е единственият начин да го накарам да работи. Регулярният израз включва променлива.
Ето функцията за анализ, която използвам:
function parseValue(msg, strValueName) {
var myRegexp = new RegExp(strValueName + ' = ([A-Z3][a-zA-Z\. 3]+)[\\n\\r]+', 'gm');
log('parseValue', 'myRegexp = ' + myRegexp.toString());
var match = myRegexp.exec(msg);
log('parseValue', 'returning match = ' + match[1] );
return match[1];
}
Вероятно има нещо много по-просто, което "истински" програмист може да измисли доста лесно. Всяка помощ ще бъде оценена.
Благодаря.
bad escapements
, но нямате нужда от\.
, просто.
ще свърши работа вътре в символен клас. Може би можете да опитате това. - person Explosion Pills   schedule 31.01.2013strValueName
може да съдържа символ, който има специално значение в регулярния израз, което ще обърка резултантния регулярен израз. - person nhahtdh   schedule 31.01.2013