(TIL) 20210826
2021. 8. 27. 00:09ㆍTIL(Today I learned)
반응형
📕Facts(한 것)
- 프로그래머스 문제풀기
- JS 공부하기
- 노마드 코더 챌린지 참여하기
- 학교 서류 제출하기
📕Findings(배운것)
C++ 에서 정규표현식을 사용할때 사용가능한 메서드가 3가지가 있다.
- regex_replace()
- regex_search()
- regex_match()
replace는 메서드를 보고 한 눈에 어떤 역할을 하는지 알아챌 수 있다.
문자열에서 찾고싶은 문자열을 찾고, 대체하는 메서드이다.
두 번째 search 메서드는 문자열에서 regex를 검색하는 역할을 한다.
if(regex_search()) {
// do something...
}
위와 같은 형태로 주로 사용된다.
세 번째 match 메서드는 이름을 봤을때는 search와 차이가 없어 보인다.(오늘 위 두개를 헷갈려서 문제푸는데 오래걸렸다.)
하지만 match는 search에서 한 단계 더 나아간(?) 형태로, 문자열이 주어진 패턴과 같은지 확인 해주는 메서드이다.
주로 파일을 검색하거나, 학과_학번_이름 과 같은 형식의 파일을 확인할때 유용하다.
#include <string>
#include <regex>
using namespace std;
string third(string new_id) {
regex r("\\.\\.");
while(regex_search(new_id, r)) { //regex r이 문자열 new_id안에 있으면
new_id = regex_replace(new_id, r, "."); // 대체한다.
}
return new_id;
}
새로 알게된 사실은 ' . '(온점)을 '\\' 없이 regex에 사용하게 된다면, 임의의 문자로 인식하기 때문에
모두 '.'으로 바뀌는 불상사가 발생할 수 있다.
📕Feeling(느낀 점)
노마드 코더 챌린지에 참여하면서 내가 안다고 생각했던 것도, 막상 코드로 구현하려 하면 잘 하지 못하는 것을 발견했다.
꺼진불도 다시보자...
addEventListner를 활용한 간단한 이벤트 처리를 해 보았다.
📕여담
반응형
'TIL(Today I learned)' 카테고리의 다른 글
(TIL) 20210828 (0) | 2021.08.29 |
---|---|
(TIL) 20210827 (0) | 2021.08.28 |
(TIL) 20210824 (0) | 2021.08.24 |
(TIL) 20210823 (0) | 2021.08.24 |
(TIL) 20210822 (0) | 2021.08.22 |