{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/Patterns/base_patterns/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"7b92b04b-588d-5ce8-b760-f6151fadfcd8","excerpt":"Базовые элементы паттернов *  — любая последовательность символов произвольной длины, возможно пустое поле. Использование в сценарии слово  — указанное слово…","html":"<h1>Базовые элементы паттернов</h1>\n<hr>\n<h3>*</h3>\n<p><code class=\"language-text\">*</code> — любая последовательность символов произвольной длины, возможно пустое поле.</p>\n</br>\n<h5>Использование в сценарии</h5>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span> catchAll\n        <span class=\"token storageType\">q!:</span> *\n        <span class=\"token variableParameter\">a:</span> Я Вас не понял.</code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span> start\n        <span class=\"token storageType\">q!:</span> * \n        <span class=\"token variableParameter\">a:</span> Начинаем работу!\n        <span class=\"token variableParameter\">go!:</span> /SecondStep</code></pre></div>\n</br>\n<h3>слово</h3>\n<p><code class=\"language-text\">слово</code> — указанное слово: проверяет полное посимвольное соответствие слова и его позицию во фразе.</p>\n</br>\n<h5>Использование в сценарии</h5>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span>\n    <span class=\"token storageType\">q!:</span> привет\n    <span class=\"token variableParameter\">a:</span> Привет! Как дела?</code></pre></div>\n</br>\n<h3>* корень *</h3>\n<p><code class=\"language-text\">*корень*</code> — стемма: проверяет наличие в слове заданного текста.</p>\n<p>Звёздочки могут находиться:</p>\n<ul>\n<li>В начале, обозначает вариативный префикс: в паттерн <code class=\"language-text\">*ход</code> попадут слова <code class=\"language-text\">вход</code>, <code class=\"language-text\">выход</code>, <code class=\"language-text\">ход</code>.</li>\n<li>В конце, обозначает  вариативный суффикс: в паттерн <code class=\"language-text\">ход*</code> попадут слова <code class=\"language-text\">ходить</code>, <code class=\"language-text\">ходунки</code>, <code class=\"language-text\">ход</code>.</li>\n<li>В начале и конце, обозначает вариативные префикс и суффикс: в паттерн <code class=\"language-text\">*ход*</code> попадут слова <code class=\"language-text\">выходить</code>, <code class=\"language-text\">ход</code>.</li>\n</ul>\n</br>\n<h5>Использование в сценарии</h5>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"> <span class=\"token keyword\">state:</span>\n    <span class=\"token storageType\">q:</span> * *подроб* *   //будет ловить: поподробнее, подробности, подробнее\n    <span class=\"token variableParameter\">a:</span> Подробнее на сайте example.cn</code></pre></div>\n</br>\n<h3>(слово1|слово2|или целая фраза)</h3>\n<p><code class=\"language-text\">(слово1|слово2|или целая фраза)</code> — альтернативы: проверяет наличие одного из альтернативных вариантов правила.</p>\n<p>Варианты разделяются <code class=\"language-text\">|</code>. Внутри каждого из них могут содержаться любые другие вложенные элементы паттерна.</p>\n<p class='warn'>Варианты можно разделать также <code class=\"language-text\">/</code>.</p>\n</br>\n<h5>Использование в сценарии</h5>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span>\n    <span class=\"token storageType\">q:</span> (привет | добр* (утро/день/вечер) | здравствуй* )\n    <span class=\"token variableParameter\">a:</span> Привет-привет!</code></pre></div>\n</br>\n<h3>[опциональное слово|или другая фраза]</h3>\n<p><code class=\"language-text\">[опциональное слово|или другая фраза]</code> — опции: приведенные в квадратных скобках элементы не являются обязательными.</p>\n<p>У паттерна увеличивается вес, если правило сработало.</p>\n<p>Внутри опций поддерживаются альтернативы.</p>\n</br>\n<h5>Использование в сценарии</h5>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span> How many players\n        <span class=\"token storageType\">q:</span> * {(сколько|как много|насколько много) (игроков|плееров|человек) [могут] [играть]} *\n        <span class=\"token storageType\">q:</span> * [игра] для одного * [или] [нескольких] *\n        <span class=\"token storageType\">q:</span> * {([игра]|в игре) [есть] (мультиплеер*|многопользовательск* [режим]|для нескольких пользовател*)} *\n        <span class=\"token variableParameter\">a:</span> Это приключение для одного. </code></pre></div>\n</br>\n<h3>{слово1 слово2 (1|2)}</h3>\n<p><code class=\"language-text\">{слово1 слово2 (1|2)}</code> — перестановки: проверяется соответствие заданных правил в любой последовательности.</p>\n<p>Правила, которые могут быть перемешаны, разделяются пробелом.</p>\n<p>Каждое правило может быть любым другим элементом паттерна с любой степенью вложенности.</p>\n<p class='tip'>В перестановках используйте не более 5-6 правил.</p>\n</br>\n<h5>Использование в сценарии</h5>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span> How much gameplay\n        <span class=\"token storageType\">q:</span> * {(сколько|(как|насколько) много|много) геймпле*} *\n        <span class=\"token storageType\">q:</span> * {[насколько] (большая|велика) [ли] [эта] [игра]} *\n        <span class=\"token variableParameter\">a:</span> Сюжет игры занял 2 тысячи страниц сценария! </code></pre></div>","frontmatter":{"title":"","description":null},"headings":[{"value":"Базовые элементы паттернов"}]}},"pageContext":{"slug":"/docs/ru/Patterns/base_patterns/","previous":{"fields":{"slug":"/docs/ru/Patterns/converters/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/Patterns/advanced_patterns/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}