Spec-Zone.ru › Nushell

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API