1

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];
    }

おそらく、「本物の」プログラマーがかなり簡単に思いつくことができる、もっと単純なものがあるでしょう。どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

0

JSLint が気に入らなかった問題は「.」でした。「Explosion Pills」で指摘されている文字クラスの文字。

「。」を削除したとき すべてが良かった。

ありがとう。

于 2013-02-01T15:37:04.993 に答える