시원님의 꿀 정리!
https://siwonmadang.notion.site/44d17cdc345d4068a6ed7fa38328b8d9
###문법
`/(http|https|ftp|telnet|news|mms):\/\/[^\"'\s()]+/i`
/ /-> 패턴 구분자 시작과 끝
(http|https|ftp|telnet|news|mms):\/\/[^\"'\s()]+) -> 찾을 문자열의 패턴
i -> 패턴 변경자
- '\d' = 0-9까지의 숫자
- '.' = 일종의 와일드카드 -> 모든 단일 문자
- '[abc]'= 단일한 a,b,c 에만 일치한다.
- '[^]' = ~가 아닌 [ ^a ] => a가 아닌 나머지 문자열 -> [안에서 사용 될 때만!]
- '-' = 대시는 순차적 문자 목록을 일치시킨다 (0-9 = 0부터 9, A-Z - 대문자 A to Z)
- 반복되는 문자 매칭 => \문자\문자\문자 도 가능하겠지만, '문자{반복횟수}' 로 표현하자! (ex) z{3} z가 세번 반복된 부분 매칭)
- a{2,6} 이런식으로 2번 혹은 6번 매칭된 것을 찾을 수 도 있다.
- '+' = 최소 하나 이상의 모든 문자를 매칭 c+ -> c가 최소 한개 이상 있는 문자열 매칭
- '?'= 선택성을 나타내는 문자 ab?c => 'abc', 'ac'
- '\s' = 공백 문자를 의미
- "\t" = tab 공백을 의미
- '\n' = 한 줄을 의미
- '\r' = - Carriage Return(CR) 라는 의미를 가지며 일반적으로는 맨앞으로 이동하라는 뜻입니다.
- '^', '$ = 시작, 끝 을 지칭한다.
- () = 캡쳐 그룹 해당 괄호 안에 있는 애들을 그룹으로 캡쳐한다 -> ( ( 캡처의 캡처도 가능하다))
- (.*) = capture all 모든 문자 선택!
- | = or 과 똑같이 사용된다 둘 중 아무거나 있으면 고걸 캡쳐!