URL 맵의 RE2 사양
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 페이지에서는 URL 맵의 정규 표현식에 RE2 구문을 사용하는 데 관련된 요구사항과 제한사항을 설명합니다.
RE2에는 다음과 같은 내장 제한사항이 있습니다.
- RE2는 임의의 lookahead 또는 lookbehind 어설션을 지원하지 않으며 역참조도 지원하지 않습니다. 특히 다음 역참조 연산자는 지원되지 않습니다.
(?=) - 긍정 전방 탐색
(?!) - 부정 전방 탐색
(?<=) - 긍정적 후방 탐색
(?<!) - 부정적 lookbehind
\N - N이 정수인 역참조
- RE2는
\cx를 Control-X 문자로 인식하지 않습니다.
- RE2가 원자적 그룹화 연산자
(?>...) 및 ++을 인식하지 못함
- RE2는
\C, \G 또는 \X를 인식하지 않습니다.
- RE2는 조건부 하위 패턴
(?(...)...), 주석 (?#...), 패턴 참조 (?R) (?1) (?P>foo) 또는 C 콜아웃 (?C...)을 인식하지 않습니다.
앞서 설명한 RE2 제한 외에도 다음 허용 목록을 사용하여 정규 표현식 구문에 추가 제한이 적용됩니다.
- 단일 문자 연산자는 허용됩니다.
- 그룹은 submatch 연산자만 사용할 수 있습니다.
- 그룹은 중복 없이만 허용됩니다.
- 문자 반복은 다음 항목과 함께 단일 정규 표현식에서만 허용됩니다.
- 범위에는 다음만 포함될 수 있습니다.
빈 문자열 및 빈 문자열의 유사 항목
| 연산자 |
설명 |
^ |
텍스트 또는 줄의 시작 부분 (m=true) |
$ |
텍스트 끝 (예: \z, \Z 아님) 또는 줄 끝 (m=true) |
\A |
텍스트 시작 부분 |
\b |
ASCII 단어 경계 (\w가 한쪽에 있고 \W, \A 또는 \z가 다른 쪽에 있음) |
\B |
ASCII 단어 경계에 있지 않음 |
\g |
검색되는 하위 텍스트의 시작 부분 |
\G |
마지막 경기 종료 시 |
\z |
텍스트 끝 |
반복
| 연산자 |
설명 |
x* |
x가 0개 이상입니다(많을수록 좋음). |
x+ |
x가 하나 이상 있어야 합니다(많을수록 좋음). |
x? |
x가 0개 또는 1개(1개 선호) |
x{n,m} |
N 또는 n+1 또는 ... 또는 m x, 더 많은 것을 선호 |
x{n,} |
N개 이상 x, 더 많은 것을 선호 |
x{n} |
정확히 n x |
x*? |
0개 이상의 x, 적은 수 선호 |
x+? |
x가 하나 이상, 적은 쪽 선호 |
x?? |
0 또는 1 x, 0이 선호됨 |
x{n,m}? |
N 또는 n+1 또는 ... 또는 m x, 적은 쪽을 선호 |
x{n,}? |
N개 이상의 x, 적은 수 선호 |
x{n}? |
정확히 n배 |
하위 일치
| 연산자 |
설명 |
(re) |
번호가 지정된 캡처링 그룹 (하위 일치) |
(?P<name>re) |
이름이 지정되고 번호가 매겨진 캡처링 그룹 (하위 일치) |
(?<name>re) |
이름이 지정되고 번호가 매겨진 캡처링 그룹 (하위 일치) |
(?:re) |
비캡처링 그룹 |
(?flags) |
현재 그룹 내에서 플래그 설정, 캡처하지 않음 |
(?flags:re) |
re 중 플래그 설정, 캡처하지 않음 |
범위
| 연산자 |
설명 |
[] |
범위 |
\d |
숫자 (≡ [0-9]) |
\D |
숫자가 아님 (≡ [^0-9]) |
\s |
공백 (≡ [\t\n\f\r ]) |
\S |
공백이 아님 (≡ [^\t\n\f\r ]) |
\w |
단어 문자 (≡ [0-9A-Za-z_]) |
\W |
단어 문자가 아님 (≡ [^0-9A-Za-z_]) |
[[:alnum:]] |
영숫자 (≡ [0-9A-Za-z]) |
[[:alpha:]] |
알파벳 (≡ [A-Za-z]) |
[[:ascii:]] |
ASCII (≡ [\x00-\x7F]) |
[[:blank:]] |
공백 (≡ [\t ]) |
[[:cntrl:]] |
제어 (≡ [\x00-\x1F\x7F]) |
[[:digit:]] |
숫자 (≡ [0-9]) |
[[:lower:]] |
소문자 (≡ [a-z]) |
[[:space:]] |
공백 (≡ [\t\n\v\f\r ]) |
[[:upper:]] |
대문자 (≡ [A-Z]) |
[[:word:]] |
단어 문자 (≡ [0-9A-Za-z_]) |
[[:xdigit:]] |
16진수 (≡ [0-9A-Fa-f]) |
범위에서 허용되는 문자
| 문자 범위 |
설명 |
0-9, A-Z, a-z |
영숫자 |
\x00-\x7F |
ASCII |
0-9A-Fa-f |
16진수 |
\t\n\v\f\r |
공백 |
^ |
범위 부정 |
!"#$%&'()*+,\-.:;<=>?@[\\\]^_`{|}~ |
기타 캐릭터 |
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-12-05(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-12-05(UTC)"],[],[]]