정규식에서 한글을 포함한 문자열을 찾을때 어떻게 해야 하나요?

bumworld의 이미지

@\w*\b
위와 같은 정규식으로 @가 붙은 문자열은 찾았습니다.
그런데 문자열에 한글이 들어간것도 같이 찾을려고 하는데요.

@ini 날씨 환율 운세 문자 TV편성표 @곰돌이
생활더위 꺾인다.. @bumworld 하루종일 흐릴 듯

위와 같은 문자열이 있을시에 @ini @곰돌이 @bumworld 새개를 모두 뽑을려고 합니다.

지금 @\w*\b로는 @yohjini @ @bumworld 이렇게 밖에 안나옵니다.

그리고 혹시 새개의 문자열을 뽑을때 @만 제거해서 아이디만 추출할수 있을까요?

shint의 이미지

^@ 요렇게 쓰면 그외에 것.이라고 하지 않나요?
저라면 그냥 그거 먼저 지우고 재처리 하겠습니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

raymundo의 이미지

무슨 언어로 하시는지...

Perl 의 경우 "스트링" 상태에서는 한글도 잘 잡아줍니다.

use utf8;  # 소스코드 내에 UTF-8 스트링 사용
binmode STDOUT, ":encoding(cp949)";   # 명령 프롬프트 창이 cp949라서 출력을 컨버트
 
my $str = q|
@ini 날씨 환율 운세 문자 TV편성표 @곰돌이
생활더위 꺾인다.. @bumworld 하루종일 흐릴 듯
|;
 
while ( $str =~ /\@(\w*)\b/g ) {
    print "match = [$&]\n";
    print "id    = [$1]\n";
}

match = [@ini]
id    = [ini]
match = [@곰돌이]
id    = [곰돌이]
match = [@bumworld]
id    = [bumworld]

좋은 하루 되세요!

biiiiid의 이미지

twitter 스타일의 아이디를 걸러내시려고 하는 것 같은데,
@\S+\s
정도로 하면 비슷하게 되지 않을까요?

\s 는 white space, \S는 non white space 라고 생각하고 쓴건데,
맞는지는 확인해보세요.

아이디만 걸러내는 부분은 zero-width match를 활용하면 되고요.

cleansugar의 이미지

ㄱ~힇 추가

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

bumworld의 이미지

@\S+\s 로 하니까 잘 나오네요..^^

그런데 zero-width는 어떻게 사용해야 하는지요?

biiiiid의 이미지


(?<=@)\S+\s 정도면 되겠네요..

사용하는 환경에 따라 지원이 안되거나, 문법이 다를 수도 있습니다.
Zero-width positive lookbehind 로 찾아보시면 됩니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.