파이썬 특정 문자열 추출하기 질문드립니다.

조회수 240회

안녕하세요, 파이썬 왕초보입니다.

예를들어 아래와 같은 text에서

"""
  16 abc('aaa/bbb/hello').<br>
  17 abc('aaa/bbb/@y14').<br>
  18 abc('aaa/bbb/@y15').<br>
  19 abc('aaa/bbb/@y16').<br>
  20 abc('aaa/bbb/@y17').<br>
  21 abc('aaa/bbb/@y18').<br>
  22 abc('aaa/bbb/@y19').<br>
"""

각 줄의 hello, @y14, @y15, @y16, @y17, @y18, @y19만 뽑고 싶은데

정규표현식으로

p=re.compile(r"\w+[/]+\w+[/]+(\w+)", re.MULTILINE)
m=p.findall(text)

이렇게 하니깐 @를 인식못해서 hello밖에 안 나오는데 다른 방법이 있을까요?

  • 딱 저 케이스만 검출해 내는 건가요? 뭔가 다른 패턴이 있다면 좀 더 유연한 정규표현식이 가능할 텐데요. digda 2019.8.12 21:35
  • 사실 정규식은 느립니다. 간단한 문자열 처리는직접 파싱하는 것이 성능상 잇점이 있습니다. 정영훈 2019.8.12 22:33
  • 직접 파싱하고 싶지만 저 부분만 있는게 아니라서요 ㅠ 다른 여러 줄 중간에 저 부분이 있고 딱 저 부분만 뽑고 싶은데 어렵네요 ㅎㅎ 어떤파일에는 저부분이 문자고 어떤파일은 또 문자가 아니라서.. 좀더 고민해보겠습니다. 감사합니다! ilalf 2019.8.13 11:08

1 답변

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.