2016-06-16 5 views
-2

私はこのクエリをPythonで実行しています。正規表現の部分に "Invalid string literal"というエラーが表示されます。私はこの正規表現は、ここで何が構文が不足しているかわからない知っている。どんな助けもありがとう。Pythonで正規表現を使用した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

を逃していますバックスラッシュの解釈。 – SteveJ

+0

ええ、これを試しました\t REGEXP_EXTRACT(パス、 'アカウント名:(r' [\ s \ S \ w \ W] *?)アカウントドメイン: ')AS AccountName。どちらもうまくいきません。 – user3447653

+0

あなたは正確に何をしようとしていますか?そして、 'r 'は' [AccountName'の前に '[\ s \ S \ w \ W] *?'でなくてはなりませんか? –

答えて

1

あなたは私は、Pythonを解雇しましたが、あなたは、文字列の前に「R」を配置しようとしている、それは文字通り強制ので、しばらくして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