[정규식] 재미난? 정규식 Again #5 - Look-ahead and Look-behind
https://sir.kr/cm_free/1561502 에도 올렸었던 것인데
여기에 문제로 정리해 봅니다.
------------------
#hashtag #hash_tag #hashTag #Hashtag #Hash_Tag
#해시태그 #해시_태그 [:#해시_태그_입니다 #hash0tag:]{:.intro#test}
#这是一个标签 #ハッシュタグです
[:안녕하세요 입니다:]{:.intro}[:테스트입니다.:]{:#test#tes01#test02}{:.intro}
------------------
해시태그만 골라내는 정규식입니다. 옵션은 /g
해시태그에 유니코드(한국어, 중국어, 일본어등 지원), 보통 언더바만 지원..
단 {: }안에 있는 #은 태그가 아니고 CSS의 ID이므로 빼고 선택하는 정규식이 필요합니다.

댓글 9개
5년 전
#[\S,_]{1,}
CSS의 ID를 빼는건 모르겠어요 ㅡㅡ;;
CSS의 ID를 빼는건 모르겠어요 ㅡㅡ;;
5년 전
@만수킴 우선 #으로 시작하는 것이라도 찾아 보세요. 이 정규식은
#hash0tag:]{:.intro#test}
이것도 통으로 잡고 있습니다.
#hash0tag:]{:.intro#test}
이것도 통으로 잡고 있습니다.
5년 전
@마젠토 글쿤여~ ㅎ
5년 전
#[\S_][^\s:#}]+
아하하... CSS의 ID는 정말 몰겠군요 ㅋ
아하하... CSS의 ID는 정말 몰겠군요 ㅋ
5년 전
@만수킴 #test#tes01#test02 이 부분이 통으로 잡힙니다.
\s 가 space, tab, line feed, carriage return, vertical tab, form feed 를 나타내고
\S 위의 것을 제외한 모든 글자인데. 가능하면 해시태그 기준인 영어(또는 유니코드), 숫자, 언더바만 들어가게 #!@$%^& 이런 해시태그는 없을 것 같습니다.
\s 가 space, tab, line feed, carriage return, vertical tab, form feed 를 나타내고
\S 위의 것을 제외한 모든 글자인데. 가능하면 해시태그 기준인 영어(또는 유니코드), 숫자, 언더바만 들어가게 #!@$%^& 이런 해시태그는 없을 것 같습니다.
5년 전
@마젠토 정답은 다른 분에게 ^^ 아하하하하하하하하~~~
어제 도로아미타불된 XAMPP 고쳐야겠어요 ㅠㅠ
정규식은 필요할때 검색만 하던 놈이었는데~
잠깐 해보니 신기방기하긴 하네요.
근데 딱 거기까지만 ㅠㅠ
어제 도로아미타불된 XAMPP 고쳐야겠어요 ㅠㅠ
정규식은 필요할때 검색만 하던 놈이었는데~
잠깐 해보니 신기방기하긴 하네요.
근데 딱 거기까지만 ㅠㅠ
5년 전
이건 한방에 안될거 같은데요.
<script>
var str = `#hashtag #hash_tag #hashTag #Hashtag #Hash_Tag
#해시태그 #해시_태그 [:#해시_태그_입니다 #hash0tag:]{:.intro#test}
#这是一个标签 #ハッシュタグです
[:안녕하세요 입니다:]{:.intro}[:테스트입니다.:]{:#test#tes01#test02}{:.intro}`;
var str2 = str.replace(/\{[^}]*\}/g, '');
var result = str2.match(/#[^#:.\[\]{}\s]+/g);
alert(result);
</script>
<script>
var str = `#hashtag #hash_tag #hashTag #Hashtag #Hash_Tag
#해시태그 #해시_태그 [:#해시_태그_입니다 #hash0tag:]{:.intro#test}
#这是一个标签 #ハッシュタグです
[:안녕하세요 입니다:]{:.intro}[:테스트입니다.:]{:#test#tes01#test02}{:.intro}`;
var str2 = str.replace(/\{[^}]*\}/g, '');
var result = str2.match(/#[^#:.\[\]{}\s]+/g);
alert(result);
</script>
5년 전
@유창화 이렇게 해도 될것 같습니다. 다른 분들을 위해서 간단히 설명을 드리면
\{[^}]*\}
로 {}안에 해당되는 것을 일단 지웁니다. 그리고
#[^#:.\[\]{}\s]+
로 #으로 시작되는 것을 찾는 방법입니다.
마크다운 문법에 {}이 사용되서 {:을 넣어서 이것만 수정하면 됩니다.
그런데 위의 사진처럼 나오는 하나의 정규식이 있습니다.
\{[^}]*\}
로 {}안에 해당되는 것을 일단 지웁니다. 그리고
#[^#:.\[\]{}\s]+
로 #으로 시작되는 것을 찾는 방법입니다.
마크다운 문법에 {}이 사용되서 {:을 넣어서 이것만 수정하면 됩니다.
그런데 위의 사진처럼 나오는 하나의 정규식이 있습니다.
2년 전
위와 같이 나오게 하는 정규식입니다.
(?<!({:)|(\b))#[\p{L}0-9_]+
(?<!({:)|(\b))#[\p{L}0-9_]+
게시판 목록
퀴즈게시판
답을 맞히시면, 문제를 내신 회원님이 채택을 해드립니다.
채택은 '좋아요'와 같습니다.
채택은 '좋아요'와 같습니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 1356 |
느긋한카키쿠키
|
3일 전 | 26 | |
| 1355 |
현대적인무질서한까마귀
|
3일 전 | 25 | |
| 1354 | 6개월 전 | 731 | ||
| 1353 | 6개월 전 | 636 | ||
| 1352 | 6개월 전 | 520 | ||
| 1351 | 7개월 전 | 608 | ||
| 1350 | 7개월 전 | 881 | ||
| 1349 | 7개월 전 | 652 | ||
| 1348 | 7개월 전 | 910 | ||
| 1347 | 7개월 전 | 558 | ||
| 1346 | 7개월 전 | 1459 | ||
| 1345 | 1년 전 | 1114 | ||
| 1344 | 1년 전 | 1663 | ||
| 1343 | 1년 전 | 1845 | ||
| 1342 | 1년 전 | 1036 | ||
| 1341 |
하늘그루터기
|
1년 전 | 1269 | |
| 1340 |
|
1년 전 | 1050 | |
| 1339 |
|
1년 전 | 888 | |
| 1338 |
|
1년 전 | 1282 | |
| 1337 |
tjddnjs
|
1년 전 | 1489 | |
| 1336 |
|
1년 전 | 2215 | |
| 1335 |
|
1년 전 | 1460 | |
| 1334 |
|
1년 전 | 2487 | |
| 1333 | 1년 전 | 1962 | ||
| 1332 | 1년 전 | 2063 | ||
| 1331 | 1년 전 | 1743 | ||
| 1330 | 1년 전 | 1314 | ||
| 1329 | 1년 전 | 1741 | ||
| 1328 | 2년 전 | 2002 | ||
| 1327 | 2년 전 | 1569 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기