JS 正規表現修飾子における multiline(/m) の使用法の分析

高洛峰
リリース: 2017-01-09 15:36:49
オリジナル
1134 人が閲覧しました

この記事の例では、JS 正規表現修飾子での multiline(/m) の使用法を分析します。参考のために皆さんと共有してください。詳細は次のとおりです:

JavaScript の正規表現には 3 つの修飾子 /i、/m、/g があります。 /i は最も一般的に使用され、最もよく理解されているものです。つまり、正規表現は照合時に大文字と小文字が区別されません。

var regex = /abc/i; alert(regex.test("aBc"));//true
ログイン後にコピー

/m は、複数行モードの複数行を表します。ターゲット文字列に改行文字 n が含まれていない場合、つまり 1 行しかない場合、/m 修飾子は意味を持ちません。

var multiline = /abc/m; var singleline = /abc/; //目标字符串不含换行符\n var target = "abcabcabc";
ログイン後にコピー

正規表現に文字列の先頭または末尾に一致する ^ または $ が含まれていない場合、/m 修飾子は意味を持ちません。

//正则表达式不含^或$ var multiline = /abc/m; var singleline = /abc/; var target = "abcab\ncabc";
ログイン後にコピー

つまり、/m 修飾子は、ターゲット文字列に n が含まれ、正規表現に ^ または $ が含まれる場合にのみ機能します。 multiline が false の場合、「^」は文字列の先頭に一致し、「$」は文字列の末尾に一致します。 multiline が true の場合、「^」は文字列の先頭と「n」または「r」の後の位置に一致し、「$」は文字列の末尾と「n」または「r」の前の位置に一致します。

var mutiline = /^abc/m; var singleline = /^abc/; var target = "ef\r\nabcd"; alert(mutiline.test(target));//true alert(singleline.test(target));//false
ログイン後にコピー

rn は、ウィンドウの下の改行を表します。n が 1 つだけの場合は、同じ効果があります。ターゲットは abc で始まる文字列ではないため、単一行のマッチングの結果は false になります。ターゲットは複数行の文字列 (n を含む) であり、2 行目が abc で始まるため、複数行のマッチングの結果は true になります。

この記事が JavaScript プログラミングのすべての人に役立つことを願っています。

JS 正規表現修飾子における multiline(/m) の使用分析に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!