~/devtools / regex / uuid
tool::regex-guide

regex uuid

/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i

UUID / GUID 검증

ad · 728×90
정규식 패턴
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i
플래그:i
패턴 분석
^[0-9a-f]{8}8 hex digits (time_low)
-Hyphen separator
[0-9a-f]{4}4 hex digits (time_mid)
-Hyphen separator
[0-9a-f]{4}4 hex digits (time_hi_version)
-Hyphen separator
[0-9a-f]{4}4 hex digits (clock_seq)
-Hyphen separator
[0-9a-f]{12}$12 hex digits (node)
매칭 예시
550e8400-e29b-41d4-a716-446655440000
6ba7b810-9dad-11d1-80b4-00c04fd430c8
00000000-0000-0000-0000-000000000000
비매칭 예시
550e8400e29b41d4a716446655440000
550e8400-e29b-41d4-a716
gggggggg-gggg-gggg-gggg-gggggggggggg

UUID v1~v5의 표준 8-4-4-4-12 형식을 검증하는 패턴입니다. 대소문자 구분 없이(i 플래그) 처리하며, 하이픈 위치와 헥사데시멀 문자만 허용합니다.

언어별 사용법

JavaScriptRegExp 객체 또는 리터럴 사용
const pattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;

// Test a string
console.log(pattern.test("550e8400-e29b-41d4-a716-446655440000")); // true
console.log(pattern.test("550e8400e29b41d4a716446655440000")); // false

// Match and extract
const result = "550e8400-e29b-41d4-a716-446655440000".match(pattern);
Pythonre 모듈 사용
import re

pattern = r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
flags = re.IGNORECASE

# Test a string
if re.fullmatch(pattern, "550e8400-e29b-41d4-a716-446655440000", flags):
    print("Valid")

# Find all matches in text
matches = re.findall(pattern, text, flags)
Javajava.util.regex 패키지 사용
import java.util.regex.*;

String pattern = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
Pattern p = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);

Matcher m = p.matcher("550e8400-e29b-41d4-a716-446655440000");
boolean isValid = m.matches(); // true

// Find occurrences
Matcher finder = p.matcher(inputText);
while (finder.find()) {
    System.out.println(finder.group());
}

주요 사용 사례

  • 데이터베이스 기본키 형식 검증
  • API 요청 ID 파라미터 유효성 확인
  • 분산 시스템의 고유 식별자 검증
  • JWT 클레임 내 UUID 필드 확인
  • 파일명 UUID 패턴 추출

관련 패턴

email/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-/iphone/^\+?[\d\s\-\(\)]{7,15}$/url/^https?:\/\/[^\s\/$.?#].[^\s]*$/iip-address/^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\./
ad · 300×250
Regex 테스터로 돌아가기
// related tools
Cron 표현식 생성기
Cron 표현식을 시각적으로 만들고 파싱합니다. 사람이 읽기 쉬운 설명과 다음 실행 시간을 미리 확인할 수 있습니다.
jwt
JWT 디코더
JWT 토큰을 디코딩하고 분석합니다. 헤더, 페이로드, 서명을 확인할 수 있습니다.
색상 변환기
HEX, RGB, HSL 등 다양한 형식으로 색상을 변환합니다.
ts
타임스탬프 변환기
Unix 타임스탬프와 날짜/시간을 양방향으로 변환합니다. ms/s, UTC/로컬, 상대 시간을 지원합니다.