我目前正在對行如何devide一個字符串,每個空格REGEXP_EXTRACT(SQL-雅典娜)
例如從我們webserverlog拆分消息: 我的消息(數據類型的字符串)看起來是這樣的:
at=info method=GET path="/v1/..." host=web.com request_id=a3d71fa9-9501-4bfe-8462-54301a976d74 fwd="xxx.xx" dyno=web.1 connect=1ms service=167ms status=200 bytes=1114
,我想切到這些行:
path | service | connect | method | status | fwd | dyno |
------ | ------- | -------- | ------ | ------ | ------- | ------ |
/v1/...| 167 | 1 | GET | 200 | xxx.xxx | web.1 |
我與REGEXP_EXTRACT發揮各地函數(第一次)在標準SQL中的亞馬遜雅典娜上,並且已經從字符串中得到了幾行,但是我正在掙扎着幾行。
當我嘗試獲得例如切到了極致出字符串即時得到比我需要
REGEXP_EXTRACT (message,'dyno=[^,]+[a-z]')AS dyno
-> dyno=web.2 connect=0ms service=192ms status=200 bytes
我想有dyno=web.1
結果&然後再提取
它會更多資訊如果我從開始(「dyno =」)將字符串剪切到「connect =」之前的空白處,但我無法在我讀取的網站中找到正確的選項,那就好了。
我如何編寫選項以獲取正確的字符串?
你爲什麼用'[^,] +'在這裏嗎?從你的示例中,如果你的目標字符串不能包含空格或者'。*?(?= connect =)',我寧願使用'\ S +'。 –
[^,] +在我之前製作的以前的行上工作過,所以我認爲它可以在其他東西上工作 –
字符串中根本沒有逗號,所以'[^,]'是毫無意義的。 –