(!)경험치 - 정규식

2023.07.20 (THU)


코딩 테스트를 보았다.

쉬운 문제에서 나를 붙잡는 이슈가 생겨버렸다.

정규식

나는 지금까지 정규식에 대해 그렇게 깊이 알고 있지 않았다.

그 문제 또한, 사실 정규식이 없어도 풀 수 있는 문제라고 생각하고 풀었지만, 나의 엄청난 무지로 인해 계속 집착하게 되었다..

문제의 코드다.

str.split(".");

내 생각 : 외 않되..? (ㅋㅋ)

자세히 알아보기 위해서는 split 함수에 대해서 알아보자.

public String[] split(String regex) // 옳게된 함수
public String[] split(String string) // 멍청한 나의 머리에서 나온..

나는 매개변수로 단지 string을 기준으로 나누는 함수 정도로 알고 있었다.
하지만 매개변수는 정규식이었다.

정규식에서의 ”.”은 개행 문자(\n)을 제외한 모든 문자를 나타내는 메타 문자이다.
그래서 코드가 작동하지 않은건 당연한 것이였다..

때문에 이스케이프 문자를 사용하여 다음과 같이 수정해야 한다.

str.split("\\.");


이런 사소한 지식들은 경험치처럼 쌓이고 쌓여, 나의 레벨업을 돕는다..