Maison >interface Web >js tutoriel >Analyse de l'utilisation de plusieurs lignes (/m) dans le modificateur d'expression régulière JS

Analyse de l'utilisation de plusieurs lignes (/m) dans le modificateur d'expression régulière JS

高洛峰
高洛峰original
2017-01-09 15:36:491204parcourir

Cet article analyse l'utilisation de multiline(/m) dans le modificateur d'expression régulière JS. Partagez-le avec tout le monde pour référence, les détails sont les suivants :

Les expressions régulières JavaScript ont trois modificateurs /i, /m et /g. /i est le plus couramment utilisé et le mieux compris, ce qui signifie que les expressions régulières ne sont pas sensibles à la casse lors de la correspondance.

var regex = /abc/i;
alert(regex.test("aBc"));//true

/m représente le mode multiligne multiligne Si la chaîne cible ne contient pas le caractère de nouvelle ligne n, c'est-à-dire qu'il n'y a qu'une seule ligne, alors le modificateur /m n'a aucun sens.

var multiline = /abc/m;
var singleline = /abc/;
//目标字符串不含换行符\n
var target = "abcabcabc";

Si l'expression régulière ne contient pas ^ ou $ pour correspondre au début ou à la fin de la chaîne, alors le modificateur /m n'a aucune signification.

//正则表达式不含^或$
var multiline = /abc/m;
var singleline = /abc/;
var target = "abcab\ncabc";

C'est-à-dire que le modificateur /m n'est disponible que lorsque la chaîne cible contient n et que l'expression régulière contient un effet ^ ou $. Si multiline est faux, "^" correspond au début de la chaîne et "$" correspond à la fin de la chaîne. Si multiline est vrai, "^" correspond au début de la chaîne et à la position après "n" ou "r", et "$" correspond à la fin de la chaîne et à la position avant "n" ou "r" .

var mutiline = /^abc/m;
var singleline = /^abc/;
var target = "ef\r\nabcd";
alert(mutiline.test(target));//true
alert(singleline.test(target));//false

rn représente un saut de ligne sous Windows S'il n'y a que 1 n, cela a le même effet. Puisque la cible n'est pas une chaîne commençant par abc, le résultat de la correspondance sur une seule ligne est faux ; parce que la cible est une chaîne multiligne (contenant n) et que la deuxième ligne commence par abc, le résultat de la correspondance sur une ligne unique est vrai.

J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.

Pour plus d'articles liés à l'analyse de l'utilisation de multiline(/m) dans les modificateurs d'expressions régulières JS, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn