이 글은 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 중국어 웹사이트를 주목하세요!