JSLint の「bad escapement」警告に関する投稿を見たことがありますが、この Regex を正しく実行しているかどうかを確認したかっただけです。(注 - 私はダブラープログラマーです)。
長いメッセージの名前から変数を解析しようとする関数 (以下) があります。正規表現はうまく機能していますが、JSLint 警告に応じて何かを変更する必要がありますか?
非常に単純化されたバージョンの msg は、基本的に次のようになります。
変数名 1 = 値 1
変数名 2 = 値 2 変数名 3
= 値 3
実際のメッセージには、上下に異なる非構造化データがあります。より単純な正規表現はすべてのテスト Web サイトで機能しましたが、使用しているサーバー アプリケーション内では機能しなかったため、奇妙な正規表現を使用する必要がありました。これが機能させる唯一の方法です。正規表現には変数が組み込まれています。
私が使用している解析関数は次のとおりです。
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];
}
おそらく、「本物の」プログラマーがかなり簡単に思いつくことができる、もっと単純なものがあるでしょう。どんな助けでも大歓迎です。
ありがとう。