728x90
반응형
정규 표현식을 하나씩 찾아보면서 사용해보다가 문제를 풀어보면서 정리하고 싶어서
정규 표현식 문제 풀이 사이트를 찾아보았다.
각 언어별 정규 표현식을 직접 사용해볼 수도 있고 문제를 풀어볼 수 있는 사이트다.
이 사이트에서 문제를 풀면서 사용했던 정규 표현식에 대해서 정리해야겠다.
정규 표현식 요약 정리
(?i)[문자] | 뒤에 나오는 문자를 대소문자 구분 없이 나타내는 표현식 |
/[표현식]/i | Flag/Modifier, 표현식의 결과를 대소문자 구분 없이 나타내는 표현식 |
\b | Word Boundary, 문자 경계를 나타내는 표현식 |
TASK 1 : WORD BOUNDARIES
문제에 대해서 간단하게 요약하자면 대소문자 구분없이 word 라는 단어가 포함된 문자열을 찾는 문제였다.
일단 이렇게 word 라는 문자가 들어간 문자열을 찾아봤다.
/word/
대소문자를 구문없이 찾아야하는데 당연히 소문자만 찾아질거다.
그럼 대소문자를 구분하는 표현식으로 2가지 방법을 찾아서 사용해봤다.
/(?i)[문자]/ 또는 /[문자]/i
여기서 i 는 ignore case 또는 case insensitive의 의미라고 보면 된다.
그래서 이 표현식을 사용해서 대소문자 구분 없이 찾아보았다.
/(?i)word/
그랬더니 대소문자 구분없이 word 라는 문자가 들어간 문자열을 찾을 수 있지만
aword 와 같은 문자열도 word 라는 문자가 포함된 문자열로 나오게 된다.
word 라는 단어만 포함된 문자열을 찾기위해서는 문자의 경계를 정해줄 필요가 있었다.
그래서 문자의 경계를 표현해주는 표현식을 찾아서 사용해봤다.
\b[문자]\b
\b 라는 표현식으로 문자의 경계를 나타내주는 표현식이라고 생각하면 된다.
따라서 문자 경계를 나타내는 표현식을 사용해서 word 라는 문자가 포함된 문자열을 찾을 수 있었다.
/\b(?i)word\b/ 또는 /\bword\b/i
추가로 정규 표현식 \b 에 대해서 자세하게 설명해놓은 블로그가 있어서 가져왔다.
728x90
반응형
'리눅스 > Linux' 카테고리의 다른 글
리눅스 디렉토리 안의 대량 파일 삭제하기 (0) | 2022.05.03 |
---|---|
리눅스 정규 표현식(Regular Expression) 정리 (2) (0) | 2022.04.09 |
리눅스 정규 표현식(Regular Expression) 정리 (1) (0) | 2022.04.03 |
리눅스 레이드(RAID) (0) | 2022.01.30 |
메모리 Buffer 와 Cache 이해하기 (0) | 2022.01.20 |