포스팅을 하다가 정규 표현식을 사용할 일이 있었다.
구글의 gemini에게 물어본 결과값을 포스팅해서 복사해야 할 일이 자주 발생하는데 웹에디터에 값을 복사 후 HTML 코드 보기를 하면 구글 gemini에서 생성해놓은 코드가 묻어있다.
이걸 그대로 포스팅했다간 구글의 검색봇(bot)은 gemini에서 생성한 걸과 값이라는 걸 바로 알아차리고 검색 결과에서 제외를 할 수도 있겠다는 가설이 세워졌다.
그래서 gemini에서 생성한 코드를 빠르게 지워야 하는데 이때 정규 표현식(RegExp)를 이용한다.
정규 표현식을 보면서 공부를 여러 번 했지만 쉬운 것 같으면서도 어렵다.
사실 난 볼 때마다 새롭다. ㅎㅎ
내가 아는 범위 내에서 복습도 해볼 겸 정규 표현식을 조금 정리해 본다.
예제 문자열 : Hello, 1day1write world!
그룹및 범위
문자 | 의미 | 예제 | 결과 |
| | 또는 | 1|! | Hello, 1day1write world! |
() | 그룹 | (day) | Hello, 1day1write world! |
[] | 괄호안의 어떤 문자든 0-9 (0부터 9까지 숫자) a-z (소문자 a부터 z까지) A-Z (대문자 A부터 Z까지) ey! (문자 e, y 랑 ! 느낌표) |
[0-9] [a-z] [A-Z] [ey!] |
Hello, 1day1write world! Hello, 1day1write world! Hello, 1day1write world! Hello, 1day1write world! |
[^] | 괄호안의 문자 빼고 전부 | [^a-z] [^a-z A-Z,] |
Hello, 1day1write world! Hello, 1day1write world! |
수량한정자
문자 | 의미 | 예제 | 결과 |
? | 있거나 없거나 (1 또는 0) | 1d? | Hello, 1day1write world! |
* | 없거나, 있거나, 많거나 (0 또는 1또는 그이상) | el* | Hello, 1day1write world! |
+ | 있거나, 많거나 (1또는 그 이상) | el+ | Hello, 1day1write world! |
{n} | n번 반복 | l{2} | Hello, 1day1write world! |
{n,} | 최소 n번 반복 | l{1,} l{2,} |
Hello, 1day1write world! Hello, 1day1write world! |
{n,m} | 최소 n번 부터 최대 m번까지 반복 | l{2,2} l{2,3} |
Hello, 1day1write world! Hello, 1day1write world! |
경계 구분
문자 | 의미 | 예제 | 결과 |
\b | 단어경계의 시작 (단어의 시작, 단어의 끝) \b를 단어 앞에 쓸경우 단어의 시작 \b를 단어 뒤에 쓸경우 단어의 끝 |
\bw e\b |
Hello, 1day1write world! Hello, 1day1write world! |
\B | 단어경계의 시작이 아닌 (단어의 중간) \B를 단어 앞에 쓸경우 단어의 시작이 아닌것 \B를 단어 뒤에 쓸경우 단어의 끝이 아닌것 |
\Bw w\B |
Hello, 1day1write world! Hello, 1day1write world! |
^ | 문장의 시작 | ^Hello | Hello, 1day1write world! |
$ | 문장의 끝 | !$ | Hello, 1day1write world! |
문자집합
문자 | 의미 | 예제 | 결과 |
. | 모든문자열 선택 |
. | Hello, 1day1write world! |
\ | 특수문자의 문자 자체를 찾고싶다면 .[]{}()\^$|?*+ |
\?\[\] | Hello, 1day1write world? [1day1write.com] |
\d | 숫자만 | \d | Hello, 1day1write world! |
\D | 숫자빼고 모두 | \D | Hello, 1day1write world! |
\w | 문자만 | \w | Hello, 1day1write world! |
\W | 문자빼고 모두 | \W | Hello, 1day1write world! |
반응형
'자기계발' 카테고리의 다른 글
배움을 구함에는 위 아래가 없어야한다. (1) | 2024.01.03 |
---|---|
행동하고 생각하지 말고, 생각하고 행동하자. (0) | 2023.12.30 |
모든 분야에서 내 삶을 구체화 시켜라. (1) | 2023.12.29 |
'코이의 법칙'에 관한여 (0) | 2023.12.10 |
늦었다고 생각할때가 진짜 늦었다. 빠르다고 생각할때가 진짜 빠른것이다. (0) | 2023.12.09 |