🥕
TIL
  • [TIL] Studying tech / computer science knowledge
  • KeyMap
  • 알고리즘
    • 복잡도 계산 ( Computational Complexity )
    • DisjointSet-unionFind
    • Bellman-ford Algorithm
    • Dijkstra's Algorithm
    • DP ( Dynamic Programming , 동적 계획법 )
    • 플로이드-워셜 알고리즘 (Floyd-Warshall algorithm)
    • Kruskal's Algorithm
    • 최장 증가 수열 (Longes Increasing Subsequence)
    • Prim's Algorithm
    • 정렬
    • 시간복잡도 와 공간복잡도 ( Time Complexity & Space Complexity )
    • Topological Sort (위상 정렬)
  • 책 읽고난 후 요약
    • 프로그래밍 대회에서 배우는 알고리즘 문제해결 전략
    • cleancode
    • 도메인 주도 설계로 시작하는 마이크로서비스 개발
    • 오브젝트
  • CDC
    • debzium
    • kafka
  • 개발 상식
    • asciidoctor
    • 컴파일러
    • ELK 스택
    • 엔디안
    • git
    • Gitmoji
    • 테스트 종류
    • 라이브러리와 프레임워크
    • 정규 표현식
    • REST API
    • 동기와 비동기 / Blocking과 NonBlocking
    • Transaction Script와 Domain Model
    • 디자인 패턴
      • 행동 패턴
      • 객체 생성 패턴
        • 추상 팩토리 패턴
        • 빌더 패턴
        • 팩토리 메서드 패턴
        • [생성 패턴] 프로토 타입 (Prototype Parttern)
        • 싱글톤
      • 구조 패턴
        • 어댑터 패턴
        • 브릿지 패턴
        • 컴포짓(Composite) 패턴
        • 데코레이터
        • 프록시
    • refactoring
      • 중복 코드
      • 전역 데이터
      • 긴 함수
      • 긴 매개변수 목록
      • 가변 데이터
      • 이해하기 힘든 이름
  • 자료구조
    • AVL Tree
    • Splay Tree
    • aaTree
    • array-list
    • 자료구조 시간/공간 복잡도
    • 그래프
    • 힙
    • Red Black Tree
    • stack-queue
    • 트리 ( Tree )
  • DevOps
    • MSA
    • Kubernetes
      • AccessingAPI
      • controller
      • dashboard
      • kubernetes
      • object
      • pod
      • service
      • volume
  • Java
    • 어노테이션
    • 제어문
    • 데이터 타입
    • Enum
    • jvm
    • 연산자
    • thread
    • Java8
      • CompletableFuture
      • Date/Time
      • 어노테이션과 메타스페이스
      • 인터페이스
      • 람다식
      • Optional
      • 스트림
  • JavaScript
    • moduleProject
    • webpack-babel
    • 코어 자바스크립트
      • array
      • 함수 바인딩
      • 데코레이터와 포워딩
      • Class
      • 비교 연산자
      • Date 내장 객체
      • destructuring-assignment
      • function
      • 함수의 prototype 프로퍼티
      • 가비지 컬렉션 ( Garbage Collection )
      • JSON (JavaScript Object Notation)
      • map-set
      • 내장 프로토타입
      • new연산자와 생성자 함수
      • 객체
      • Object.keys, values, entries
      • 옵셔널 체이닝 '?.'
      • 프로퍼티 플래그
      • 프로퍼티 종류
      • 프로토 타입
      • 호출 스케줄링 ( scheduling a call )
      • scope
      • this
      • type-conversions
      • type
      • 함수의 자료형
      • var_let_const
  • Linux
    • 기본 명령어
    • 파일 종류
    • 리눅스
  • 네트워크
    • 응용 계층 ( Application Layer )
    • 오류 검출과 오류 정정
    • Http
    • Http Header
    • 컴퓨터 네트워크란
    • 네트워크 계층
    • 네트워크 제어 영역
    • 전송 계층 ( Transport Layer )
  • PHP
    • Facade
    • composer
    • scopeResolutionOperator
    • Laravel
      • SocialProvider
      • architecture
      • blade
      • controller
      • db
      • dbArchitecture
      • debug
      • eloquent
      • email
      • event
      • exceptionHandling
      • middleware
      • model
      • modelFactory
      • pagingLoading
      • queryBuilder
      • route
      • scout
      • seeding
      • tntsearch
      • validate
      • view
  • React
    • Next.js
    • React 란?
  • Spring
    • Controller
    • 요청이 들어왔을때 스프링이 처리하는 방법 ( 내부구조 )
    • ConfigurationProperties
    • Entity / DTO / VO
    • Maven
    • Repository와 DAO
    • 스프링 빈
    • Spring Framework
    • MVC 패턴
    • 도메인 입력값 검증
    • Spring Cloud
      • Spring Cloud
      • Eureka
    • Spring Data
      • JPA
      • JPA 어노테이션
      • 엔티티 비교
      • 복합 키와 식별 관계 매핑
      • JPA 예외처리
      • 객체지향 쿼리
      • EntityManagerFactory와 EntityManager
      • JPA 최적화
      • 프록시와 연관관계 맵핑
      • 연관관계
      • 상속관계 맵핑
      • 트랜잭션 범위와 영속성 컨텍스트
      • 데이터 타입
      • MySQL 연결
      • Pageable
    • Spring Project들과 library
      • Custom Serialize
      • Elasticsearch Index API
      • Spring HATEOAS
      • lombok (롬복)
      • Model Mapper
      • Object Mapper
      • Representation Model
      • Spring REST Docs
      • Spring Boot
    • Spring Security
      • Spring Security
      • Authentication
      • Authentication Filter
      • Authorization Filter
      • Filter Chain
      • SecurityContext
      • Spring OAuth2.0
    • Spring Test
      • AssertJ
      • Junit5
      • JunitParams
      • Mock Object
  • DataBase
    • ALIAS
    • CONCAT
    • CTE
    • Group By
    • HAVING
    • IFNULL
    • 인덱스
    • JOIN
    • ORDER BY
    • ROLLUP
    • SELECT
    • SELECT DISTINCT
    • SQL
    • WHERE
  • Web 상식
    • OAuth
    • WAS
    • HTTP통신 기반 인증
    • 브라우저
    • CSR 과 SSR
    • HTTPS
    • Web
Powered by GitBook
On this page
  • 공부 하는데 도움되는 사이트
  • 기호(표현식)와 의미
  • flag 옵션
  • 사용 예
  1. 개발 상식

정규 표현식

Previous라이브러리와 프레임워크NextREST API

Last updated 3 years ago

에 따르면 정규 표현식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.

어떤 문자열을 특정 패턴에 부합한지 검사하거나 특정 패턴에 부합한 문자열을 출력하는데 사용된다.

대부분의 프로그래밍 언어에서 지원하며, 일부(perl, js, ruby)는 내장되어 있고, 다른 일부(python, c, c++, java)는 표준 라이브러리로 제공한다.

매번 공부 할만큼 했다 생각해도 가끔 사용하다보니 까먹게 되어 찾아볼 목적으로 정리 해 보았다.

공부 하는데 도움되는 사이트

을 이용하여 아래 기호들을 적용해보며 공부

기호(표현식)와 의미

기호
의미

^

문자열의 처음

$

문자열의 끝

.

한개의 문자

*

0번 이상

+

반복 (1번이상)

{}

반복

?

존재 여부 ( 있을 수도 있고 없을 수도 있다 )

|

OR ( 두 식중 한개 )

[ ]

문자 선택 (괄호 안의 문자 중 한개)

[^ ]

부정 ( 괄호 안의 문자들을 선택 안함 )

[a - z]

a 부터 z중 한개

( )

그룹을 표현 (포획 괄호)

(?:)

그룹을 표현 ( 비포획 괄호 )

(?=x)

뒤에 x가 와야한다

(?!x)

뒤에 x가 오면 안된다

n은 1부터 9까지 가능하며, 순서에 맞는 포획괄호 재사용

\b

문자와 공백 사이 (word boundary)

\B

문자와 공백 사이 (word boundary)가 아니다

\d

숫자

\D

숫자가 아니다

\s

공백 (space)과 탭

\S

공백과 탭이 아니다

\w

word( 알파벳, 숫자, _ ) 중에 하나

\W

word가 아니다

줄바꿈

캐리지 리턴

tab

\v

수직 tab (캐리지리턴 + 라인 피드)

\0

null

flag 옵션

flag
의미

g

global ( 대상 문자열내 모든 패턴 검색 )

i

insensitive (대상 문자열에서 대/소문자 식별하지 않는다)

m

multiline ( 줄바꿈이 포함된 여러라인의 문자열일 경우에도 검색)

사용 예

| 기호 | 의미 | | :-----------: | :----------------------------------------: | --------------------------- | | ^x | 문자열이 문자 x로 시작된다 | | x$ | 문자열이 문자 x로 끝난다 | | . | 모든 문자 | | x. | 2글자 문자중 x로 시작하는 문자 | | .x. | 3글자 문자중 가운데 x인 문자 | | x+ | x가 1번 이상 반복된다. x{1,}와 같은 의미 | | x* | x가 0번 이상이다. x{0,}와 같은 의미 | | x? | x가 있을 수도 있고 없을 수 있다. | | abc | qwe | 문자 abc와 문자 qwe 중 한개 | | [abc] | a,b,c중 한 문자 | | [^abc] | a,b,c가 포함되지 않은 문자 | | [a - z] | a 부터 z중 한개 | | a(?=x) | 뒤에 x가 있는 a | | a(?!x) | 뒤에 x가 없는 a | | {m} | m번 반복 | | {m,} | m번 이상 반복 | | {m,n} | m번 이상 n번 이하 반복 | | \1 | 첫번째 포획괄호 재사용 | | \2 | 두번째 포획괄호 재사용 |

위키백과
RegExr