{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/Patterns/named_patterns/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"6a01e38e-69b3-50db-9f57-15c9d844a033","excerpt":"Именованные паттерны?> Именованный паттерн — часть паттерна, выделенная в отдельную сущность, которая может быть использована несколько раз. Выделяют в…","html":"<h1>Именованные паттерны</h1>\n<hr>\n<p class='warn'>Именованный паттерн — часть паттерна, выделенная в отдельную сущность, которая может быть использована несколько раз.</p>\n<p>Выделяют в именованные паттерны правила по семантическому признаку. Например:</p>\n<ul>\n<li>синонимы;</li>\n<li>различные варианты написания выражений, объединенных одним смыслом и встречающихся в определенной позиции в однотипных предложениях.</li>\n</ul>\n<p>Список именованных паттернов объявляется в теге <code class=\"language-text\">patterns</code> в <code class=\"language-text\">.sc</code>-файле. И представляет структуру:</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">patterns:</span>\n        $&lt;pattern name> = (pattern body | multiline body)\n        $&lt;pattern name> = (pattern body) || converter=nameConverter</code></pre></div>\n<p>Каждый вложенный элемент тега <code class=\"language-text\">patterns</code> трактуется как определение нового именованного паттерна.</p>\n<p>Для объявления и обращения к именованному паттерну используется <code class=\"language-text\">$</code>.</p>\n<p>После знака <code class=\"language-text\">=</code> задается значение типа <code class=\"language-text\">multiline string</code> с опциональным атрибутом <code class=\"language-text\">converter</code>, имеющим тип <code class=\"language-text\">string</code>.</p>\n<!-- [todo] ссылка на `converter`-->\n<p>Как и паттерны, именованные паттерны могут быть заданы с помощью базовых и расширенных элементов:</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">patterns:</span>\n        $mobilePhoneNumber = $regexp&lt;(8|\\+?7)-?\\(?9\\d{2}\\)?-?\\d{3}-?\\d{2}-?\\d{2}>\n        $mistake = (ошиб*|неверн*|некорректн*|неправиль*)\n        $roamingRegion = $entity&lt;RoamingRegions></code></pre></div>","frontmatter":{"title":"","description":null},"headings":[{"value":"Именованные паттерны"}]}},"pageContext":{"slug":"/docs/ru/Patterns/named_patterns/","previous":{"fields":{"slug":"/docs/ru/Patterns/pattern_rank/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/Patterns/named_entity/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}