부끄러운 이야기이지만, 정규표현식을 공부를 한 적이 없다. 무슨말인가 하면, 그냥 인터넷에 전화번호 정규 표현식이라고 검색만 하고, 이메일 정규표현식이라고 검색만 해보고 사용을 해왔다.
뭐 그것이 나쁘다고 하는 소리도 아니고, 앞으로는 정규표현식을 매번 창조 할 것이라고 말하는 것도 아니다. 인류는 바퀴를 한 번만 발명 하였다.
오늘 이야기 할 이야기는 g 플래그이다.
const aRegx = /a/g;
console.log(aRegx.test('a')); // true
console.log(aRegx.test('a')); // false
단적인 예로 위의 코드가
true, false로 값이 나온다라는 걸 알고 있다면, 딱히 해당 포스팅을 굳이 볼 필요는 없을 것 같당...
자 위와 같은 상황이 왜 나오게 되는 걸까?
g 플래그와 결과값
g 플래그는 정규 표현식에서 모든 패턴 일치를 찾는 데 사용됩니다. 코드 예시에서:
aRegx
는 /a/g
정규 표현식을 사용합니다. 이는 문자열 내에서 모든 "a"를 찾도록 설정됩니다.
true
를 반환합니다."a" 문자열에는 "a"가 하나만 존재하기 때문에 두 번째 호출은 더 이상 일치하는 문자를 찾지 못하고, false를 반환합니다.
결론적으로: g 플래그는 모든 일치를 찾도록 합니다.
이전 검색이 끝난 위치(lastIndex)에서 다음 검색을 시작합니다.
참고:
- lastIndex 속성을 사용하여 이전 검색의 마지막 위치를 직접 확인하거나 조작할 수 있습니다.
- g 플래그 없이 사용하면 첫 번째 일치만 찾고 검색을 종료합니다.
댓글
댓글 쓰기