2016-06-16 5 views
-2

저는이 쿼리를 파이썬으로 실행하고 있습니다. 정규 표현식 부분에 "Invalid string literal"오류가 표시됩니다. 나는이 정규식이 어떤 구문이 여기에 누락되었는지 확실하지 않다는 것을 안다. 어떤 도움을 주시면 감사하겠습니다.파이썬에서 정규 표현식을 사용하는 SQL

import pandas as pd 
import numpy as np 
import datetime 
from time import gmtime, strftime 
import smtplib 
import sys 
from IPython.core.display import HTML 

PROJECT = 'server' 

queryString = ''' 

SELECT 
    mn as mName, 
    dt as DateTime, 
    ip as LocalIPAddress, 
    REGEXP_EXTRACT(path, 'ActName:([\s\S\w\W]*?)ActDomain:') AS ActName, 
FROM Agent.Logs 

''' 
+1

내가 파이썬을 발사 한 이후 오랜만없는,하지만 당신은 문자열의 앞에서 "R"를 배치하는 시도가있어, 그것은 문자 그대로 강제로 백 슬래시의 해석. – SteveJ

+0

그래,이 시도했는데 \t REGEXP_EXTRACT (경로, '계정 이름 : (r'[\ s \ S \ w \ W] *?) 계정 도메인 : ') AS 계정 이름. 그것도 작동하지 않습니다. – user3447653

+0

정확히 일치시키려는 것은 무엇입니까? 그리고 'r'은'[Account \]가 아니야 '[\ s \ S \ w \ W] *'가 될 것입니다. –

답변

1

당신은 r

REGEXP_EXTRACT(path, r'ActName:([\s\S\w\W]*?)ActDomain:') AS ActName

+0

그것은 작동하지 않습니다. 이 쿼리는 IPython 노트북에서 실행 중이지만 지금은 Python 스크립트로 변환하려고합니다. 정규 표현식 부분에서 오류가 발생합니다. – user3447653

+0

무엇이 오류이고 무엇을 찾으려고합니까? 이 질문을 코멘트가 아닌 질문에 넣으십시오. –

+0

오류는 "Invalid string literal"입니다. "Actname"과 "ActDomain"문자열 사이의 문자열을 추출하려고합니다. – user3447653

관련 문제