Я видел несколько сообщений о предупреждениях JSLint "bad escapement", но я просто хотел посмотреть, правильно ли я делаю это регулярное выражение. (Примечание - я начинающий программист).
У меня есть функция (ниже), которая пытается разобрать переменную по ее имени в длинном сообщении. Регулярное выражение работает хорошо, но должен ли я что-то изменить в ответ на предупреждение JSLint?
Очень упрощенная версия msg может выглядеть примерно так:
ИмяПеременной1 = Значение1
ИмяПеременной2 = Значение2
ИмяПеременной3 = Значение3
Фактический msg имеет разные неструктурированные данные выше и ниже. Мне пришлось использовать странное регулярное выражение, поскольку, хотя более простое выражение работало на всех тестовых веб-сайтах, оно не работало в используемом нами серверном приложении, поэтому это единственный способ заставить его работать. Регулярное выражение включает переменную.
Вот функция разбора, которую я использую:
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