상세 컨텐츠

본문 제목

JavaScript :: 정규식으로 해시태그(#) 분류하기(Regexp for hashtags)

JavaScript

by 비오스터딩 2020. 12. 12. 22:31

본문

 

정규식을 만들어보기 이전에 제일 기본적인 표현을 살펴보자.

 

정규식은 / 사이에 적는다.

/여기에적힌단어가정규식/

 

g는 global로 g가없으면 하나만 선택된다.

g가 있으면 해당하는 모든 항목이 선택된다.

 

 

예를 들어, 

/#/g

라고하면 모든 #이 선택된다.

 

/#./g

#다음 한 글자까지 포함.

하지만 해시태그가 몇 글자로 이루어져있는지 알수 없다.

 

/#.+/g

# 이후의 모든 글자 선택

 

 

정규식의 대괄호 안에 있는 글자들은 그 글자만 포함한다는 뜻.

/#[해첫익]/g

은 # 바로다음 '해, 첫, 익'이 오는 글자만 선택.

 

 

^은 그 글자들을 제외한 다른 글자만 포함한다.

/#[^해첫익]/g

 

해, 첫, 익 이외의 다른 단어만 포함된다.

 

 

/#[^두익해]+/

이렇게 사용하면 

# + (두, 익, 해 제외) + 그 이후단어

까지해서 위 화면처럼 선택된다.

 

 

해쉬태그는 띄어쓰기로 구분하므로

띄어쓰기가 있는 부분까지 선택하도록 만들어보자.

 

정규식으로 띄어쓰기는 \s 이다.

/#[^\s]+/

이렇게 사용하면 #부터 띄어쓰기가 있는 부분까지 선택된다.

 

 

하지만 #첫번째#두번째 처럼 해시태그사이에 띄워쓰기가 되어있지 않은 경우

따로따로 선택하도록 만들어야한다.

그러기위해서 #태그도 제외시켜준다.

 

 

/#[^\s#]+/g


이렇게 사용하면 해시태그한 단어들을 모두 선택한다.

 

 

 

정규식 split 하기

 

괄호없이 splite하면 해시태그부분은 제거되고 반환한다.

그러므로 괄호를 사용하여 다음과 같이 표시해야한다.

  .split(/(정규식)/g)  

 

 

 

 

 

이 사이트에 들어가면 정규식을 테스트해 볼 수 있다.

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

 

반응형

관련글 더보기

댓글 영역