RegExp.lastMatch ($&)

지원이 중단되었습니다: 이 기능은 더 이상 권장되지 않습니다. 일부 브라우저에서는 아직 지원할 수 있지만 관련 웹 표준에서 이미 제거되었거나 제거 과정에 있는 경우가 있으며, 호환성을 위해 유지되고 있을 수 있습니다. 사용을 피하고 가능하다면 기존 코드를 업데이트하세요. 결정을 지원할 하단의 호환성 표를 확인하세요. 이 기능은 언제든지 작동을 중단할 수 있음을 유의하세요.

참고: 마지막 일치 상태를 전역적으로 노출하는 모든 RegExp 정적 속성은 더 이상 사용되지 않습니다. 자세한 내용은 더 이상 사용되지 않는 RegExp 기능을 참고하세요.

RegExp.lastMatch 정적 접근자 속성은 마지막 일치한 부분 문자열을 반환합니다. RegExp["$&"]는 이 속성의 별칭입니다.

설명

lastMatchRegExp의 정적 속성이기 때문에, 생성한 RegExp 객체의 속성으로 사용하는 것보다는 항상 RegExp.lastMatch 또는 RegExp["$&"]로 사용해야 합니다.

lastMatch의 값은 RegExp(RegExp 하위 클래스 제외) 인스턴스가 일치에 성공할 때마다 갱신됩니다. 일치하는 항목이 없으면 lastMatch는 빈 문자열입니다. lastMatch의 설정 접근자는 undefined이므로 이 속성을 직접 변경할 수 없습니다.

&는 유효한 식별자 부분이 아니므로 점 속성 접근자(RegExp.$&)와 함께 약칭을 사용할 수 없으며 이로 인해 SyntaxError가 발생합니다. 대신 대괄호 표기법을 사용하시기 바랍니다.

$&String.prototype.replace()의 대체 문자열에도 사용할 수 있지만, 이는 RegExp["$&"] 레거시 속성과는 관련이 없습니다.

예제

lastMatch와 $& 사용하기

js
const re = /hi/g;
re.test("hi there!");
RegExp.lastMatch; // "hi"
RegExp["$&"]; // "hi"

명세서

Specification
Legacy RegExp features
# additional-properties-of-the-regexp-constructor

브라우저 호환성

BCD tables only load in the browser

같이 보기