File Path 분석

Park Jae Hong·2022년 8월 1일
0

정규표현식 사용법

  • ^ : 문자열의 시작을 표현한다. [ ... ] 내부에서 쓰이는 경우라면 뒤의 패턴에 일치하지 않는 것을 선택한다.

  • ^http : 문자열이 http로 시작하는 경우에만 매치하며, 중간에 나타난 http에는 매치하지 않는다.
    ab[^0-9]: “ab” 뒤에 숫자가 아닌 것이 오는 것에만 매치한다. (“abc” – O, “ab1” – X)

  • $ : 문자열의 끝을 표현한다.

  • them$ : 문자열이 “them”으로 끝난 경우에만 해당 “them”에 매치한다.

  • \b : 단어의 경계. 문자열 시작과 끝, 공백, 개행, 탭, 콤마, 구두점, 대시문자 등이 올 수 있다.

  • \bplay\b : 는 단어 경계로 구분되는 “play”에는 매치한다. 하지만 “playground”의 “play”에는 매치하지 않는다.

  • \B : \b가 아닌것. 정규식 메타문자에서는 흔히 대문자로 표현한 것은 소문자로 표현한 문자의 반대를 의미한다.

  • \bplay\B : “play”뒤에 단어의 경계가 아닌 것이 올 때에만 매치한다. “playground”, “playball”의 “play”에 매치한다. 뒤에 오는 “g”, “b” 등의 문자는 포함하지 않는다.

  • \s : 공백 문자 및 탭 문자에 매치한다.

  • \S : 공백 문자가 아닌 한 글자에 매치한다.

  • \d : 숫자에 매치한다. [0-9]와 같다.

  • \D : 숫자가 아닌 문자에 매치한다. [^0-9]와 같다.

  • \w : 단어를 만들 수 있는 글자. 알파벳 대소문자, 숫자, 언더스코어를 포함한다. [A-Za-z0-9_] 와 같다.

  • \W : \w에 포함되지 않는 문자들

  • \n : 개행문자. \r은 캐리지 리턴이다.

  • \ : 이스케이프용 문자. 정규식 상의 특별한 의미가 있는 문자들을 문자 그대로 쓸 때 앞에 붙인다. \^ 라고 쓰면 “^” 문자 그대로를 가리킨다.

  • . : 아무 문자 1개에 대응된다. 공백 역시 문자 1개로 취급된다.

대문자 소문자는 반대의 의미를 가진다 !

E-mail

: @와 .com 들어간 이메일 주소를 확인할 때 사용합니다.
regex = "[0-9a-zA-Z][_0-9a-zA-Z-]*@[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+){1,2}$"

파일 확장자 확인

regex = "^\S+.(?i)(txt|pdf|hwp|xls)$"

정규 표현식 확인 사이트

File & Path 분석 시 고려 사항 ❗

  • 볼륨 또는 드라이브 + 디렉토리 이름 + 선택적 파일이름
  • 볼륨 구분 기호
  • 디렉토리 구분자 : "/" "\"
  • 상대 경로와 절대 경로 : . / ..
  • 경로 요소 구분 : ":" ";"
  • UNC 경로
  • URL 과 URI

전방 탐색 (lookahead)

: 작성한 패턴에 일치하는 영역이 존재하여도 그 값이 제외되어서 나오는 패턴입니다. 전방 탐색 기호는 ?= 이며, = 다음에 오는 문자가 일치하는 영역에서 제외된다. 또한, 전방 탐색은 하위 표현식과 같이 소괄호로 감싸주어야만 한다.

EX)
.+(?=:) ➡ http://www.abc.com

후방 탐색 (lookbehind)

: 전방 탐색이 앞에 있는 문자열을 탐색하는 것이라면, 후방 탐색은 뒤에 있는 문자열을 탐색합니다. 후방 탐색의 기호는 ?<= 입니다. 전방 탐색 기호의 ?와 = 사이에 < 기호가 추가된 것입니다. 후방 탐색도, 전방 탐색의 사용법과 같다. (마찬가지로, 소괄호로 감싸주어야만 한다.)

EX)
(?<=$)[0-9.]+ ➡ $600.4

그 외


: 긍정형 전방탐색이 = 뒤에 있는 문자와 일치하는 텍스트를 탐색하는 것이라면, 부정형 전방탐색은 일치하지 않는 텍스트를 탐색하는 것이다.

단위 테스트(Unit Test)란?

: 유닛 테스트는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차다. 즉, 모든 함수와 메소드에 대한 테스트 케이스를 작성하는 절차를 말한다.

Unit Test (단위 테스트) 장점

단위 테스트는 매우 간단하고 명확하며 빠르게 실행된다는 특징이 있습니다. 쉽게 말하면, 하나의 함수에 대해 하나 이상의 테스트가 존재할 수 있고, 각각의 조건에 대한 유효성을 검증합니다. 이렇게 작성된 단위 테스트가 많을수록 해당 로직에 대한 신뢰도가 높아질 수 있습니다. 또한, 작게 쪼개진 단위 테스트는 해당 로직이 어떤 역할을 하는지 쉽게 파악할 수 있다는 장점이 있습니다.

단위 테스트가 필요한 이유

스크린샷 2022-08-02 오전 2 21 56

통상 소프트 웨어를 개발 할떄 요구사항 분석 -> 설계 -> 구현 -> 검증 -> 배포 순으로 진행한다. 위 그림처럼 분석단계에서 부터 검증 까지 문제를 잡기위한 상대적인 시간이 점차 줄어 들게 된다. 고로, 개발을 할때 분석부터 검증 까지 빠르게 여러번 진행하는 것이 시간적으로도 효율적이고, 결과물의 질도 향상된다.

❗ 많은 개발자들이 여러차례 테스트를 하는것이 초기에 시간이 많이 들어 잘 못하고 있다고 한다. 그러므로 주니어 개발자때부터 테스트를 하는 습관을 들여놓아야 더 좋은 개발자로 성장할 수 있다 !

profile
The people who are crazy enough to think they can change the world are the ones who do. -Steve Jobs-

0개의 댓글