parse для строк
Разбор столбцов из строковых данных с использованием простого шаблона.
Подпись
> parse {flags} (pattern)
Флаги
-
--regex, -r: использовать полную синтаксическую конструкцию регулярных выражений для шаблонов
Параметры
-
pattern: шаблон для сопоставления. Например) "{foo}: {bar}"
Типы входных/выходных данных:
| Вход | Выход |
|---|---|
| список<любой> | таблица |
| строка | таблица |
Примеры
Разбор строки на два именованных столбца
>"hi there"|parse"{foo} {bar}"
╭───┬─────┬───────╮
│# │ foo │ bar │
├───┼─────┼───────┤
│0│hi│there│
╰───┴─────┴───────╯
Разбор строки с использованием шаблона регулярного выражения
>"hi there"|parse-r'(?P<foo>\w+) (?P<bar>\w+)'
╭───┬─────┬───────╮
│# │ foo │ bar │
├───┼─────┼───────┤
│0│hi│there│
╰───┴─────┴───────╯
Разбор строки с использованием шаблона именованной группы захвата fancy-regex
>"foo bar."|parse-r'\s*(?<name>\w+)(?=\.)'
╭───┬──────╮
│# │ name │
├───┼──────┤
│0│bar│
╰───┴──────╯
Разбор строки с использованием шаблона группы захвата fancy-regex
>"foo! bar."|parse-r'(\w+)(?=\.)|(\w+)(?=!)'
╭───┬──────────┬──────────╮
│# │ capture0 │ capture1 │
├───┼──────────┼──────────┤
│0││foo│
│1│bar││
╰───┴──────────┴──────────╯
Разбор строки с использованием шаблона look behind fancy-regex
>" @another(foo bar) "|parse-r'\s*(?<=[() ])(@\w+)(\([^)]*\))?\s*'
╭───┬──────────┬───────────╮
│# │ capture0 │ capture1 │
├───┼──────────┼───────────┤
│0│@another│ (foobar) │
╰───┴──────────┴───────────╯
Разбор строки с использованием шаблона look ahead атомарной группы fancy-regex
>"abcd"|parse-r'^a(bc(?=d)|b)cd$'
╭───┬──────────╮
│# │ capture0 │
├───┼──────────┤
│0│b│
╰───┴──────────╯
Copyright © 2019–2023 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/parse.html