Regex를 테스트하려면 https://regex101.com/를 추천한다.
이번 글의 주제는 모든 localhost url에 대한 regex이다.
대충 아래와 같은 url이 있다고 가정하자
http://localhost:80/qw9081283
localhost/qw9081283/23423
http://localhost:80/qw9081283?9023/23423
https://localhost
패턴을 분석해 보면 아래와 같다.
1. http:// or https:// or 없음
2. localhost
3. (:[포트번호]) or 없음
4. 모든 문자
분석한 패턴을 만들어 보면 다음과 같다.
1. (http:\/\/|https:\/\/)?
- (조건1|조건2)
- ?는 왼쪽의 식이 있거나 없거나
2. localhost
- localhost와 정확히 일치
3. (:[0-9]+)?
- : 와 정확히 일치
- 0-9범위의 숫자
- +는 왼쪽의 식이 1개 이상 있음
- ?는 왼쪽의 식이 있거나 없거나
4. .*
- 모든 문자
하나로 합치면 다음과 같다
(http:\/\/|https:\/\/)?localhost(:[0-9]+)?.*