Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- for developer
- freetier
- navercloud
- openjdk
- java
- 가상머신
- 몽고디비
- instance
- GCP
- 27inch
- mongod
- MongoDB
- springboot
- errorstack
- cloud
- playgrounds
- MAC
- naver
- 27017
- Xcode
- VM
- npm update
- Media-type
- initandlisten
- Android
- ubuntu
- ubuntu java
- Spring
- github
- remote
Archives
- Today
- Total
김컴공랩
[알고리즘] 정규표현식 (Regex) 에서 +, * 와 같은 메타데이터 표현하기 본문
헬로월드! 김컴공입니다.
대표적인 정규표현식으로 다음과 같은 기호들이 존재합니다.
? | 물음표는 0번 또는 1차례까지의 발생을 의미한다. 이를테면 colou?r는 "color"와 "colour"를 둘 다 일치시킨다. |
* | 별표는 0번 이상의 발생을 의미한다. 이를테면 ab*c는 "ac", "abc", "abbc", "abbbc" 등을 일치시킨다. |
+ | 덧셈 기호는 1번 이상의 발생을 의미한다. 이를테면 ab+c는 "abc", "abbc", "abbbc" 등을 일치시키지만 "ac"는 일치시키지 않는다. |
{n} | 정확히 n 번만큼 일치시킨다. |
{min,} | "min"번 이상만큼 일치시킨다. |
{min,max} | 적어도 "min"번만큼 일치시키지만 "max"번을 초과하여 일치시키지는 않는다. |
만약 ?, *, + 와 같은 메타데이터를 정규표현식으로 사용하고 싶다면?
55-50+40
위 숫자식을 파싱하기 위해서는 JAVA 의 경우 split 함수의 인자로 다음과 같은 인자를 주면 됩니다.
String str = "55-50+40"
String[] = str.split("\\+")
결과
[55-50, 40]
위의 경우 split 함수의 인자로 \\+ 를 주었는데요, 그냥 + 를 넣게 되면 정규표현식의 기호 + 로 인식을 하여 에러가 발생하게 됩니다. 따라서 정규표현식의 기호를 정규표현식으로 사용하고 싶을 때는 각 기호의 앞에 \\ 를 입력하시면 됩니다.
'알고리즘' 카테고리의 다른 글
[알고리즘] Queue 로 1 to N Binary number 구하기 (0) | 2021.04.18 |
---|---|
[백준] 2688 - 숫자고르기 JAVA 자바 풀이 (0) | 2021.03.15 |