Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 정규 표현식의 dotAll 플래그(s 플래그) 완벽 이해하기

JavaScript 정규 표현식의 dotAll 플래그란?

JavaScript에서 dotAll은 정규 표현식 객체가 갖는 읽기 전용 속성으로, 해당 정규 표현식에 s 플래그가 설정되어 있는지 여부에 따라 true 또는 false를 반환합니다.

s 플래그(dotAll 모드)를 사용하면 점(.) 메타 문자가 줄바꿈 문자(\n, \r 등)까지도 매칭할 수 있게 됩니다. 기본적으로 점은 줄바꿈 문자를 제외한 모든 문자와 일치하지만, s 플래그가 설정되면 이러한 제한이 해제됩니다.

다음은 JavaScript에서 정규 표현식에 dotAll 플래그를 구현하는 예제 코드입니다.

예제 코드

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>dotAll 플래그 예제</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .result {
        font-size: 20px;
        font-weight: 500;
    }
</style>
</head>
<body>
<h1>정규 표현식의 dotAll 플래그</h1>
<div style="color: green;" class="result"></div>
<button class="btn">클릭하세요</button>
<h3>
위 버튼을 클릭하면 정규 표현식에 s 플래그가 설정되어 있는지 확인할 수 있습니다.
</h3>
<script>
    let btnEle = document.querySelector(".btn");
    let resEle = document.querySelector(".result");
    const regex = new RegExp("Hello", "s");
    btnEle.addEventListener("click", () => {
        resEle.innerHTML = "s 플래그 설정 여부 : " + regex.dotAll;
    });
</script>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

JavaScript 정규 표현식의 dotAll 플래그(s 플래그) 완벽 이해하기

'클릭하세요' 버튼을 누르면 아래와 같이 결과가 표시됩니다.

JavaScript 정규 표현식의 dotAll 플래그(s 플래그) 완벽 이해하기

버튼을 클릭하면 regex.dotAll 속성 값이 화면에 출력되며, 위 예제에서는 생성자에 s 플래그를 전달했기 때문에 결과값이 true로 나타납니다. 만약 s 플래그 없이 정규 표현식을 생성했다면 false가 출력됩니다.