ToolHub
View All Posts

정규식 치트 시트와 일반적인 패턴

정규식(regex)은 거의 모든 프로그래밍 언어와 텍스트 편집기에서 사용되는 강력한 패턴 매칭 도구입니다. 구문이 처음에는 난해해 보일 수 있지만, 정규식을 마스터하면 절차적 코드로는 수십 줄이 필요한 작업을 정밀하게 검색, 검증, 추출 및 변환할 수 있습니다. 이 가이드는 알아야 할 기본 구문, 일반적인 패턴 및 실용적인 팁을 다룹니다.

기본 정규식 구문 치트 시트

문자 클래스

모드의미예제
.개행 문자를 제외한 모든 문자a.c는 abc, a1c, a c와 매칭
\dFlash 및 Java 애플릿과 같은 플러그인은 임의의 코드를 실행하고 CSP를 우회할 수 있습니다. 특정 플러그인 요구 사항이 없는 한(현대 웹 개발에서는 매우 드뭅니다), 항상 object-src 'none'을 설정하세요.\d\d는 42와 매칭
\D숫자가 아닌 모든 문자\D는 a, !, 공백과 매칭
\w단어 문자(a-z, A-Z, 0-9, _)\w+는 hello_123과 매칭
\W단어가 아닌 문자\W는 @, #, 공백과 매칭
\s공백 문자 (공백, 탭, 개행)a\sb는 a b와 매칭
\S유사색은 색상환에서 인접한 위치에 있습니다(보통 30도에서 60도 차이). 파랑, 청록, 초록이 유사색 구성을 이룹니다. 이러한 조합은 색상이 비슷한 기본 톤을 공유하기 때문에 조화롭고 통일감 있게 느껴집니다. 유사색 팔레트는 차분하고 통일된 디자인을 만드는 데 적합하지만, 강력한 시각적 계층에 필요한 대비가 부족합니다. 텍스트와 배경에 중성색을 추가하여 필요한 대비를 제공하세요.\S+는 hello와 매칭
[abc]집합 내의 모든 문자[aeiou]는 모음 문자와 매칭
[^abc]집합에 없는 모든 문자[^0-9]는 숫자가 아닌 문자와 매칭
[a-z]CSS 압축은 CSS 기능을 변경하지 않고 파일에서 불필요한 문자를 제거하는 과정입니다. 여기에는 공백 제거, 주석 제거, 불필요한 세미콜론 제거, 색상 값 단축 및 중복 선언 병합이 포함됩니다. 결과적으로 브라우저가 더 빠르게 다운로드하고 파싱할 수 있는 더 작은 파일이 생성됩니다.[A-Za-z]는 모든 알파벳 문자와 매칭

수량자

모드의미예제
*0회 이상ab*c는 ac, abc, abbc와 매칭
+1회 이상ab+c는 abc, abbc와 매칭
?0회 또는 1회colou?r는 color, colour와 매칭
{n}정확히 n회\d{4}는 4자리 숫자와 매칭
{n,}n회 이상\d{2,}는 2자리 이상 숫자와 매칭
{n,m}n회에서 m회\d{3,5}는 3-5자리 숫자와 매칭

앵커와 경계

모드의미예제
^문자열 또는 행의 시작^Hello는 시작 부분의 Hello와 매칭
$문자열 또는 행의 끝world$는 끝 부분의 world와 매칭
\b단어 경계\bcat\b는 독립된 cat과 매칭
\B유사색은 색상환에서 인접한 위치에 있습니다(보통 30도에서 60도 차이). 파랑, 청록, 초록이 유사색 구성을 이룹니다. 이러한 조합은 색상이 비슷한 기본 톤을 공유하기 때문에 조화롭고 통일감 있게 느껴집니다. 유사색 팔레트는 차분하고 통일된 디자인을 만드는 데 적합하지만, 강력한 시각적 계층에 필요한 대비가 부족합니다. 텍스트와 배경에 중성색을 추가하여 필요한 대비를 제공하세요.\Bcat는 scattered와 매칭

그룹화와 교체

모드의미예제
(abc)캡처 그룹(ab)+는 abab과 일치
(?:abc)비캡처 그룹(?:ab)+는 abab과 일치
a|b교체 (OR)cat|dog는 cat 또는 dog와 매칭
\1그룹 1에 대한 역참조(\w)\1은 aa, bb와 일치
abc)Grid는 두 차원을 모두 제어해야 하는 페이지 수준 레이아웃과 복잡한 컴포넌트 구조를 위해 설계되었습니다. 명명된 그리드 영역, auto-fill 및 auto-fit, 명시적 행 열 크기와 같은 개념을 도입하여 이전에는 불가능했던 레이아웃을 간단하고 직관적으로 만들었습니다.name으로 참조

자주 사용하는 정규 표현식 패턴

다음은 웹 개발과 데이터 검증에서 가장 일반적으로 사용되는 정규식 패턴입니다:

정상 시력으로만 테스트하기: 색맹 시뮬레이터를 사용하여 적색맹, 녹색맹, 청색맹(가장 흔한 세 가지 색각 결함 유형) 사용자에게 디자인이 사용 가능한지 확인하세요.

대부분의 유효하지 않은 주소를 포착하면서도 지나치게 엄격하지 않은 실용적인 이메일 정규식: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ . 이 패턴은 기본 이메일 구조를 검증하면서 로컬 부분의 일반적인 문자를 허용하고, 최소 2자 이상의 TLD가 있는 유효한 도메인 이름을 요구합니다.

URL 검증

HTTP 및 HTTPS URL 매칭: ^https?:\/\/(www\.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(\/[^\s]*)?$ . 이 패턴은 선택적 www 접두사, 도메인 이름 및 선택적 경로가 있는 URL을 매칭합니다.

전화번호 (미국)

미국 전화번호의 다양한 형식: ^\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$ . 이 패턴은 (555) 123-4567, 555-123-4567, 5551234567과 같은 형식을 처리합니다.

IP 주소(IPv4)

IPv4 주소 검증: ^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$ . 이 패턴은 각 옥텟이 0에서 255 사이인지 확인합니다.

날짜 (YYYY-MM-DD)

ISO 날짜 형식: ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$. 이 패턴은 형식 구조를 검증하지만 월별 유효 날짜는 확인하지 않습니다.