Я пытаюсь получить подстроку значения столбца в Kusto.
Я знаю, что строке всегда предшествует формат «текст для развлечения-», затем строка букв, которую я хочу, за которой следует все, что не является буквой.
Я подумал, что мне следует использовать extract()
, поскольку это позволяет мне вводить регулярное выражение для обработки нескольких возможных символов, которые могут следовать за строкой, которую я хочу.
Однако, когда я пытаюсь ввести регулярное выражение, я продолжаю получать SEM0420: Semantic error: Regex pattern is ill formed
.
Можете ли вы помочь мне выяснить, как правильно ввести регулярное выражение?
Пример строки: stuff milk-cow-cocoa a/123
Желаемая подстрока: cocoa
Текущая regex: (?<=milk-cow-\s*).*?(?=\s*[^A-Za-z])
Примечание : похоже, что отдельные звездочки удаляются. Они появляются ниже в коде.
На этом этапе \s
предназначены для защитного синтаксического анализа строки и удаления пробелов. Конец общей строки также может существовать сразу после желаемой подстроки.
Я пробовал что-то похожее на этот оператор Data Explorer:
cluster("mine").database("mine").
DataTable
| where PreciseTimeStamp >ago(5h) and resourceProvider == "Provider"
| where info has "cow-milk-"
| take 200
| project extract("(?<=milk-cow-\\s*).*?(?=\\s*[^A-Za-z])", 0, info), info
Мне пришлось добавить дополнительную \
перед каждым \
, чтобы проводник данных мог правильно проанализировать строки.