1

コードを確認しようとしています。

0xaなしの正規表現チェックは次のとおりです。

ここに画像の説明を入力してください

戻り文字がある場所でわかるように、正規表現が一致しません。bc0xaが戻り文字に使用されます。

0xaを含む正規表現チェックは次のとおりです。

ここに画像の説明を入力してください

ご覧のとおり、すべて含まれています。

要するに、私の.jsには次の文字が含まれています。

[\x0a\x20-\x7e]

しかし、なぜそれが時々リターンを次のように使用するのかについて私は心配しています:

\\ the other return character ( have not verified yet )

そして時々それは次のようにリターンを使用します:

\x0a

関連している

http://en.wikipedia.org/wiki/ASCII

4

1 に答える 1

0

行がグループ化されているように見えることに驚きましたが、正規表現のスターと関係があります。正規表現をに変更します[\x20-\x7e]+。星(0以上の一致)の代わりにプラス記号(1つ以上の一致)を使用すると、期待どおりの結果が得られると思います。

regexpalのinputText-fieldに実際に何があるかを確認したい場合は、ブラウザでコンソールを開いて実行するdocument.getElementById('inputText').value.replace(/[^\x20-\x7e]/g,function(a){‌​a = a.charCodeAt(0).toString(16); return '\\u0000'.slice(0,6-a.length) + a;});と、文字列の真の表現が得られます。

きれいなプリント:

document.getElementById('inputText').value.replace(
  /[^\x20-\x7e]/g,
  function (a){‌
    ​a = a.charCodeAt(0).toString(16);
    return '\\u0000'.slice(0,6-a.length) + a;
  }
);
于 2012-09-09T01:55:11.540 に答える