行ごとではなく、テキスト全体でJavaScriptの正規表現を一致させる方法を見つけることができないようです。正規表現エンジンが '\n' をテキストの末尾としてではなく、他の文字と同様に見なすことを望みます。
問題の例を次に示します。
var string = "Aaa\nbb";
console.log(/^A(.*)/g.exec(string)[1]);
コンソールに次の結果が表示されます。
aa
行ごとではなく、テキスト全体でJavaScriptの正規表現を一致させる方法を見つけることができないようです。正規表現エンジンが '\n' をテキストの末尾としてではなく、他の文字と同様に見なすことを望みます。
問題の例を次に示します。
var string = "Aaa\nbb";
console.log(/^A(.*)/g.exec(string)[1]);
コンソールに次の結果が表示されます。
aa
.
は改行に一致しません。残念ながら、JavaScript にはs
改行にも一致させるためのスイッチがありません。したがって、次のようなもの.
と一緒に or のみを使用することはできません。[\n\r]
/(.|[\n\r])+/
.
like以外の式を使用する方が簡単で[^]
、任意の文字に一致します。そう:
/[^]+/