![](/img/trans.png)
[英]Azure Data Explorer, Kusto: regex not semantically correct in extract()
[英]Azure data explorer kusto regex
我正在嘗試從 queryText 列中獲取 substring。 queryText 列是一個 SQL 查詢語句。 我的目標是解析特定模式並將其提取到名為 TableName 的新列中。
parse kind=regex queryText with "[Ff][Rr][Oo][Mm]" TableName
以上是我當前的 Regex 語句。 它返回“FROM”或“from”之后的所有字符。 我只想在“FROM”之后和第一個空格或換行符之前抓取字符。 關於我必須添加到正則表達式才能執行此操作的任何想法嗎?
你可以使用extract()
function 。
例如(使用i
標志來區分大小寫):
datatable(input:string)
[
"select * FROM MyTable\n where X > 1",
"SELECT A,B,C from MyTable",
"select COUNT(*) from MyTable GROUP BY X",
"select * FROM MyTable",
"select * from [a].[b]",
]
| extend output = extract(@"(?i)from\s+([^\s]+)\s*", 1, input)
輸入 | output |
---|---|
select * 來自 [a].[b] | [a].[b] |
select * 來自 MyTable 其中 X > 1 |
我的表格 |
SELECT A,B,C 來自 MyTable | 我的表格 |
select 來自 MyTable GROUP BY X 的 COUNT(*) | 我的表格 |
select * 來自 MyTable | 我的表格 |
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.