>웹 프론트엔드 >JS 튜토리얼 >JS 정규식 수정자의 여러 줄(/m) 사용 분석

JS 정규식 수정자의 여러 줄(/m) 사용 분석

高洛峰
高洛峰원래의
2017-01-09 15:36:491204검색

이 글은 JS 정규 표현식 수정자에서 여러 줄(/m)의 사용법을 분석합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

JavaScript 정규식에는 /i, /m 및 /g 세 가지 수정자가 있습니다. /i는 가장 일반적으로 사용되며 가장 잘 이해되는 것입니다. 즉, 정규식은 일치 시 대소문자를 구분하지 않습니다.

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

/m은 여러 줄 모드 여러 줄을 나타냅니다. 대상 문자열에 개행 문자 n이 포함되지 않은 경우, 즉 한 줄만 있습니다. 그러면 /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 포함)이고 두 번째 행이 abc로 시작하므로 여러 줄 일치 결과는 true입니다.

이 글이 JavaScript 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.

JS 정규 표현식 수식어의 여러 줄(/m) 사용 분석에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.