
org.languagetool.rules.uk.grammar-punctuation.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/print.xsl" title="Pretty print" ?> <?xml-stylesheet type="text/css" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.css" title="Easy editing stylesheet" ?> <!-- Ukrainian grammar and typo rules for LanguageTool Copyright (C) 2007 Andriy Rysin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA --> <!DOCTYPE rules [ <!ENTITY punct_std "[,.:;!?…/()\[\]"«»„“”*•♦‐-―-]|[.!?-]{2,3}|[А-ЯІЇЄҐA-Z]\."> <!ENTITY punct_std_no_dot "[,:;!?…/()\[\]"«»„“”*•♦‐-―-]|[.!?-]{2,3}|[А-ЯІЇЄҐA-Z]\."> <!ENTITY punct_std_no_rquote "[,:;!?…/()\[\]"«„“*•♦‐-―-]|[.!?-]{2,3}|[А-ЯІЇЄҐA-Z]\."> <!ENTITY punct_std_no_lquote "[,:;!?…/()\[\]"»„“”*•♦‐-―-]|[.!?-]{2,3}|[А-ЯІЇЄҐA-Z]\."> <!ENTITY punct_dash "[‐-―-]"> <!ENTITY punct_quote "["«»„“”]"> <!ENTITY punct_quote_left "["«„“”]"> <!ENTITY punct_no_comma_after "[,;:(‐-―-]"> ]> <rules lang="uk" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.xsd"> <category id="PUNCTUATION" name="Пунктуація"> <rulegroup id="comma_bud_laska" name="«будь ласка» виділяється комами"> <rule> <pattern> <marker> <token>будь</token> <token>ласка</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Сполука «будь ласка» виділяється комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="будь ласка,">Запитайте, <marker>будь ласка</marker> у водія.</example> <example>— Будь ласка — миску, ложку й мій хліб!</example> <example>— "Будь ласка"?</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> <exception>то</exception> </token> <token>будь</token> <token>ласка</token> </pattern> <message>Сполука «будь ласка» виділяється комами (відсутня ліва кома)</message> <suggestion>\1, \2 \3</suggestion> <example>Запитайте, будь ласка, у водія.</example> <example correction="Запитайте, будь ласка"><marker>Запитайте будь ласка</marker>, у водія.</example> <example>ви хочете, то будь ласка!</example> <example>а тут ― будь ласка, відкрилася</example> </rule> </rulegroup> <rulegroup id="comma_vzagali_kazhuchy" name="Взагалі кажучи"> <rule> <pattern> <marker> <token regexp="yes">взагалі|загалом|власне|щиро|інакше|м'яко|образно|просто|правду|коротко|коротше|точніше|умовно</token> <token>кажучи</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="взагалі кажучи,">І, <marker>взагалі кажучи</marker> хто він такий.</example> <example>Взагалі кажучи — тут все моє</example> </rule> <rule> <antipattern> <token>дуже</token> <token>м'яко</token> <token>кажучи</token> </antipattern> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token regexp="yes">взагалі|загалом|власне|щиро|інакше|м'яко|образно|просто|правду|коротко|коротше</token> <token>кажучи</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example correction=", взагалі кажучи">І<marker> взагалі кажучи</marker>, не хочу.</example> <example>дуже м'яко кажучи</example> </rule> </rulegroup> <!-- «Більше того» є росіянізмом - handled in grammar-barbarism.xml <rulegroup id="comma_bilshe_togo" name="Кома: більше того" default="off"> <rule> <pattern> <marker> <token regexp="yes">більше?</token> <token>того</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="більше того,">І, <marker>більше того</marker> хто він такий.</example> <example correction="більше того,"><marker>більше того</marker> хто він такий.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> <exception postag_regexp="yes" postag="part.*"/> </token> <marker> <token postag_regexp="yes" postag="part.*" min="0" max="2"/> <token regexp="yes">більше?</token> <token>того</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", і більше того">не можу <marker>і більше того</marker>, не хочу.</example> <example correction=", навіть більше того">не можу <marker>і навіть більше того</marker>, не хочу.</example> </rule> </rulegroup> --> <rulegroup id="comma_na_zhal" name="На жаль" default="off"> <rule> <pattern> <marker> <token>на</token> <token postag_regexp="yes" postag="adj:m:v_zna:rinanim.*" min="0"/> <token>жаль</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> <exception regexp="yes">для|чи</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2 \3,</suggestion> <example correction="на жаль,">І, <marker>на жаль</marker> хто він такий.</example> <example>На превеликий жаль для генерала</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>на</token> <token postag_regexp="yes" postag="adj:m:v_zna:rinanim.*" min="0"/> <token>жаль</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", на превеликий жаль">І<marker> на превеликий жаль</marker>, не хочу.</example> </rule> </rulegroup> <rulegroup id="comma_poza_sumnivom" name="Поза сумнівом" default="off"> <rule> <pattern> <marker> <token>поза</token> <token postag_regexp="yes" postag="adj:[mp]:v_oru.*" min="0"/> <token regexp="yes">сумнівом|сумнівами</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2 \3,</suggestion> <example correction="поза сумнівом,">І, <marker>поза сумнівом</marker> хто він такий.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>поза</token> <token postag_regexp="yes" postag="adj:[mp]:v_oru.*" min="0"/> <token regexp="yes">сумнівом|сумнівами</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", поза всякими сумнівами">І<marker> поза всякими сумнівами</marker>, не було.</example> </rule> </rulegroup> <rulegroup id="comma_z_dozvolu_skazaty" name="З дозволу сказати"> <rule> <pattern> <marker> <token regexp="yes">з|по</token> <token regexp="yes">дозволу|правді</token> <token>сказати</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2 \3,</suggestion> <example correction="з дозволу сказати,">І, <marker>з дозволу сказати</marker> хто він такий.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token regexp="yes">з|по</token> <token regexp="yes">дозволу|правді</token> <token>сказати</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", з дозволу сказати">І<marker> з дозволу сказати</marker>, не хочу.</example> </rule> </rulegroup> <rulegroup id="comma_chort_zabyrai" name="Кома: чорт забирай"> <rule> <pattern> <marker> <token regexp="yes">чорт|дідько</token> <token regexp="yes">забирай|візьми|бери</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="чорт забирай,">І, <marker>чорт забирай</marker> хто він такий.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token regexp="yes">чорт|дідько</token> <token regexp="yes">забирай|візьми|бери</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example correction=", чорт забирай">І<marker> чорт забирай</marker>, не хочу.</example> </rule> </rulegroup> <rulegroup id="comma_tak_by_movyty" name="Кома: так би мовити"> <rule> <pattern> <marker> <token>так</token> <token>би</token> <token>мовити</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Коли вжито як вставну сполуку, «\1 \2 \3» відокремлюється комами, однак коли вводить зворот (напр. «так би мовити кишенькових, які …»), то кому ставимо після цілого звороту; (можливо відсутня права кома)</message> <suggestion>\1 \2 \3,</suggestion> <example correction="так би мовити,">І, <marker>так би мовити</marker> хто він такий.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>так</token> <token>би</token> <token>мовити</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", так би мовити">І<marker> так би мовити</marker>, не хочу.</example> </rule> </rulegroup> <rulegroup id="comma_do_rechi" name="До речі" default="off"> <antipattern> <token>не</token> <token>до</token> </antipattern> <rule> <pattern> <!-- TODO: "до слова" має купу правильних вжитків --> <marker> <token>до</token> <token>речі <exception scope="next">посполитої</exception> <exception scope="next" postag_regexp="yes" postag="SENT_END|PARA_END"/> </token> <token min="0">кажучи</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> <exception>кажучи</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2 \3,</suggestion> <example correction="до речі,">І, <marker>до речі</marker> хто він такий.</example> <example correction="до речі кажучи,">І, <marker>до речі кажучи</marker> хто він такий.</example> <example>до Речі Посполитої</example> <example>не до речі</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>до</token> <token>речі <exception scope="next">посполитої</exception> </token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example correction=", до речі">І<marker> до речі</marker>, не хочу.</example> </rule> </rulegroup> <rulegroup id="comma_grih_skazaty" name="Гріх сказати"> <rule> <pattern> <marker> <token regexp="yes">гріх|сором|грішним</token> <token regexp="yes">сказати|ділом</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="гріх сказати,">І, <marker>гріх сказати</marker> хто він такий.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <token regexp="yes">гріх|сором|грішним</token> <token regexp="yes">сказати|ділом</token> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>\1, \2 \3</suggestion> <example correction="І, грішним ділом"><marker>І грішним ділом</marker>, подумав.</example> <example>І, грішним ділом, подумав про неї.</example> </rule> </rulegroup> <rulegroup id="comma_mushu_pryznatysia" name="Кома: мушу признатися"> <rule> <pattern> <marker> <token>мушу</token> <token regexp="yes">признатися|зізнатися</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="мушу признатися,">І, <marker>мушу признатися</marker> хто він такий.</example> </rule> <rule> <antipattern> <token>мушу</token> <token/> <token>,</token> <token>що</token> </antipattern> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>мушу</token> <token regexp="yes">признатися|зізнатися</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example correction=", мушу признатися">І<marker> мушу признатися</marker>, подумав.</example> <example>Тепер мушу зізнатися, що дозволив</example> </rule> </rulegroup> <rulegroup id="comma_kryi_bozhe" name="Крий боже"> <rule> <pattern> <marker> <token>крий</token> <token>боже</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="крий боже,">І, <marker>крий боже</marker> хто він такий.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <token>крий</token> <token>боже</token> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>\1, \2 \3</suggestion> <example correction="І, крий боже"><marker>І крий боже</marker>, подумав.</example> </rule> </rulegroup> <rulegroup id="comma_krim_togo" name="Крім того"> <rule> <antipattern> <token>того</token> <token postag_regexp="yes" postag="noun.*?:[mn]:v_rod.*"/> </antipattern> <pattern> <marker> <token regexp="yes">о?крім <exception scope="previous">а</exception> </token> <token>того</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="крім того,">І, <marker>крім того</marker> хто він такий.</example> <example>...у Москві, а крім того закінчив...</example> <example>пройшов все, крім того випадку</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> <exception>а</exception> </token> <marker> <token min="0">а</token> <token regexp="yes">о?крім</token> <token>того</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", крім того">але ж<marker> крім того</marker>, подумав.</example> <example correction=", а крім того">все<marker> а крім того</marker>, подумав.</example> </rule> </rulegroup> <rulegroup id="comma_mizh_inshym" name="Між іншим"> <rule> <pattern> <marker> <token>між</token> <token>іншим</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Сполуку «між іншим» зі значенням «до речі» відокремлюємо комами як вставну, а коли її вжито в значенні «побіжно», ком не ставимо. (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="між іншим,">І, <marker>між іншим</marker> хто він такий.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>між <exception scope="previous">ніби</exception> </token> <token>іншим</token> </marker> </pattern> <message>Сполуку «між іншим» зі значенням «до речі» відокремлюємо комами як вставну, а коли її вжито в значенні «побіжно», ком не ставимо. (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example correction=", між іншим">але ж<marker> між іншим</marker>, подумав.</example> <example>леді Айліш, ніби між іншим, зауважила</example> <!-- hard to create exception for - we extend the message <example>якому книжка потрібна між іншим, щоб згаяти час<example> --> </rule> </rulegroup> <rulegroup id="comma_a_vtim" name="Кома: а втім"> <rule> <pattern> <marker> <token>а</token> <token>втім</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="а втім,">інтуїтивно <marker>а втім</marker> і у будь-який інший спосіб</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>а</token> <token>втім</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома), за винятком коли зворот вжито у значенні «побіжно»</message> <suggestion>, \2 \3</suggestion> <example correction=", а втім">інтуїтивно<marker> а втім</marker> і у будь-який інший спосіб</example> </rule> </rulegroup> <rulegroup id="comma_jasna_rich" name="Ясна річ"> <antipattern> <token>не</token> <token regexp="yes">звісна|ясна|зрозуміла|певна</token> <token>річ</token> </antipattern> <rule> <pattern> <marker> <token regexp="yes">звісна|ясна|зрозуміла|певна</token> <token>річ</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="ясна річ,">І, <marker>ясна річ</marker> все пропало.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token regexp="yes">звісна|ясна|зрозуміла|певна</token> <token>річ</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example>І, ясна річ, подумав про неї.</example> <!-- TODO: why we catch space? --> <example correction=", ясна річ">І<marker> ясна річ</marker>, подумав.</example> <example>зовсім не зрозуміла річ</example> <example>розкіш — не певна річ, яку можна купити</example> <!-- TODO: <example>коли певна річ знищується</example> <example>абсолютно зрозуміла річ для людей</example> --> </rule> <rule> <pattern> <marker> <token regexp="yes">звісне|ясне</token> <token>діло</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні сполуки виділяються комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="звісне діло,">І, <marker>звісне діло</marker> все пропало.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token regexp="yes">звісне|ясне</token> <token>діло</token> </marker> </pattern> <message>Вставні сполуки виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example correction=", ясне діло">І<marker> ясне діло</marker>, подумав.</example> </rule> </rulegroup> <rulegroup id="comma_insert_words" name="Вставні слова виділяються комами"> <rule> <antipattern> <token regexp="yes">як|от|ось|чи</token> <token>бач</token> </antipattern> <antipattern> <token>бач</token> <token inflected="yes">який</token> </antipattern> <pattern> <token regexp="yes">мабуть|по-перше|по-друге|по-третє|о?крім того|а втім|їй-бо(гу)?|бач|бігме|мовляв|бува</token> <token regexp="yes" min="0">же?</token> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> <exception regexp="yes">же?</exception> </token> </pattern> <message>Вставні слова виділяються комами (відсутня права кома)</message> <suggestion>\1 \2, \3</suggestion> <example correction="мабуть, його">Це, <marker>мабуть його</marker> водій.</example> <example correction="мабуть же, його">Це, <marker>мабуть же його</marker> водій.</example> <example>Це, мабуть, його водій.</example> <example>По-третє.</example> <example>Та, мабуть же, й...</example> <example>Бач яка, щоб її правці взяли</example> </rule> <rule> <pattern> <marker> <token regexp="yes">щоправда|очевидячки</token> </marker> <token> <exception regexp="yes">&punct_std_no_lquote;</exception> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні слова виділяються комами (відсутня права кома), але якщо «\1» стоїть на початку уточнювального або приєднувального звороту, то кома ставиться не після «\1», а після цілого звороту</message> <suggestion>\1,</suggestion> <example correction="очевидячки,">Це, <marker>очевидячки</marker> його водій.</example> <!-- hard to write an exception - we extend the message instead <example>Ще однією кіноподією щоправда столичного масштабу став</example> --> </rule> <rule> <antipattern> <token regexp="yes">от|ось|ти|чи</token> <token>бач</token> </antipattern> <pattern> <token negate="yes" regexp="yes">&punct_std_no_dot;|[/аій]|та <exception postag="SENT_START"/> </token> <token regexp="yes" case_sensitive="yes">мабуть|о?крім того|[ув]тім|їй-бо(гу)?|бач|бігме|мовляв|щоправда|очевидячки</token> </pattern> <message>Вставні слова виділяються комами (відсутня ліва кома)</message> <suggestion>\1, \2</suggestion> <!-- крапка замість коми, TODO: fix correction --> <example correction="., щоправда">призначає нового прем’єра<marker>. щоправда</marker>, у Держдуми</example> <example correction="Це, мабуть"><marker>Це мабуть</marker>, водій.</example> <example>Мабуть, це водій.</example> <example>Це, мабуть, водій.</example> <example>Але це... мабуть, водій.</example> <example>Розмова з глухими Утім, було би надто</example> <example>-- по-перше фінансово;</example> <!-- TODO <example>а мій бач як вчинив</example> --> </rule> <rule> <pattern> <marker> <token negate="yes" regexp="yes">&punct_std_no_dot;|[•/АаІіЙй]|[Цц]е|вже|тільки|лише <exception postag="SENT_START"/> </token> <token regexp="yes" case_sensitive="yes">по-перше|по-друге|по-третє</token> </marker> <token negate="yes" regexp="yes">[.)]</token> </pattern> <message>Вставні слова виділяються комами (відсутня ліва кома)</message> <suggestion>\1, \2</suggestion> <example correction="нашпигувати, по-друге">По-перше, треба його <marker>нашпигувати по-друге</marker>, запекти.</example> <example>Це по-перше.</example> <example>• По-перше, ініціатори-конституанти</example> <example>• по-перше, ініціатори-конституанти</example> <example> (це вже буде по-третє)</example> <example>Тепер по-друге.</example> <example>І лише по-третє —</example> </rule> </rulegroup> <rulegroup id="comma_prymirom" name="Приміром"> <rule> <antipattern> <token>приміром</token> <token postag_regexp="yes" postag="(noun|adj|verb|adv).*"/> <token regexp="yes">&punct_no_comma_after;</token> </antipattern> <pattern> <marker> <token case_sensitive="yes">приміром</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні слова виділяються комами (відсутня права кома), але якщо «\1» стоїть на початку уточнювального або приєднувального звороту, то кома ставиться не після «\1», а після цілого звороту</message> <suggestion>\1,</suggestion> <example correction="приміром,">і <marker>приміром</marker> редакторством чи викладанням.</example> <example>до середини XVII ст. Приміром, в маленьких містах</example> <example>культурне життя, приміром Варшави, а радше</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>приміром</token> </marker> </pattern> <message>Вставні слова виділяються комами (відсутня ліва кома)</message> <suggestion>, \2</suggestion> <example correction=", приміром">от<marker> приміром</marker>, подумав.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>наприклад <exception postag="SENT_END"/> <exception scope="next" postag="SENT_END">.</exception> </token> </marker> </pattern> <message>Перед «наприклад» ставимо кому, окрім випадків, коли це слово стоїть у кінці уточнювального звороту («реальні речі, берці наприклад»)</message> <suggestion>, \2</suggestion> <example correction=", наприклад">от<marker> наприклад</marker>, подумав.</example> <example>реальні речі, берці наприклад</example> </rule> </rulegroup> <!-- <rulegroup id="comma_navpaky" name="Кома: навпаки" default="off"> <rule> <pattern> <marker> <token>навпаки <exception scope="previous" regexp="yes">а|і</exception> </token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні слова виділяються комами (відсутня права кома)</message> <suggestion>\1,</suggestion> <example correction="навпаки,">але <marker>навпаки</marker> редакторством чи викладанням.</example> <example>мало все статися навпаки</example> <example>а мій друг навпаки</example> </rule> <rule> <pattern> <token regexp="yes">а|і</token> <marker> <token>навпаки</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні слова виділяються комами (відсутня права кома або тире)</message> <suggestion>\2,</suggestion> <suggestion>\2 —</suggestion> <example correction="навпаки,|навпаки —">прийшов і <marker>навпаки</marker> все закрив.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> <exception regexp="yes">а|і|не</exception> </token> <marker> <token regexp="yes" min="0">а|і</token> <token>навпаки</token> </marker> <token> <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні слова виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example correction=", навпаки">от<marker> навпаки</marker>, подумав.</example> <example correction=", і навпаки">прийшов<marker> і навпаки</marker>, подумав.</example> <example>сталося саме навпаки.</example> <example>павутини життя, а не навпаки –</example> </rule> </rulegroup> --> <rulegroup id="comma_jak_ce_ne_dyvno" name="як це не дивно"> <rule> <antipattern> <token>прикро</token> <token>про</token> <token>це</token> </antipattern> <antipattern> <token regexp="yes">прикро|дивно</token> <token min="0">це</token> <token postag_regexp="yes" postag="verb.*?:(inf|pres:s:3).*"/> </antipattern> <antipattern> <token regexp="yes">прикро|дивно</token> <token>для</token> </antipattern> <pattern> <marker> <token>як</token> <token min="0">це</token> <token>не</token> <token regexp="yes">дивно|прикро</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні конструкції відокремлюємо комами, але якщо «\1 \2 \3 \4» вводить цілу конструкцію, то кому ставимо в кінці такої конструкції (відсутня права кома)</message> <suggestion>\1 \2 \3 \4,</suggestion> <example correction="як це не дивно,">і <marker>як це не дивно</marker> редакторством.</example> <example>як не прикро про це казати</example> <example>як не прикро це усвідомлювати</example> <example>як це не прикро усвідомлювати</example> <example>Водночас, як не дивно це звучить, але</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>як</token> <token min="0">це</token> <token>не</token> <token regexp="yes">дивно|прикро</token> </marker> </pattern> <message>Вставні конструкції відокремлюємо комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4 \5</suggestion> <example correction=", як це не дивно">от<marker> як це не дивно</marker>, прийшов.</example> </rule> </rulegroup> <rulegroup id="comma_jak_na_mene" name="як на мене"> <rule> <pattern> <marker> <token>як</token> <token>на</token> <token>мене</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні конструкції відокремлюємо комами (відсутня права кома)</message> <suggestion>\1 \2 \3,</suggestion> <example correction="як на мене,">і <marker>як на мене</marker> непогано.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>як</token> <token>на</token> <token>мене</token> </marker> </pattern> <message>Вставні конструкції відокремлюємо комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", як на мене">от<marker> як на мене</marker>, прийшов.</example> </rule> <rule> <!-- <antipattern> <token>зло</token> <token postag_regexp="yes" postag="adj:.:v_dav.*" min="0"/> <token postag_regexp="yes" postag="noun:.:v_dav.*"/> </antipattern> --> <pattern> <marker> <token regexp="yes">як|мов|наче</token> <token>на</token> <token regexp="yes">біду|зло|гріх</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Вставні конструкції відокремлюємо комами (відсутня права кома)</message> <suggestion>\1 \2 \3,</suggestion> <example correction="як на біду,">і <marker>як на біду</marker> непогано.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token regexp="yes">як|мов|наче</token> <token>на</token> <token regexp="yes">біду|зло|гріх</token> </marker> </pattern> <message>Вставні конструкції відокремлюємо комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", як на біду">от<marker> як на біду</marker>, прийшов.</example> </rule> </rulegroup> <rulegroup id="comma_na_miy_pogliad" name="Кома: на мій погляд"> <antipattern> <token regexp="yes" inflected="yes" postag_regexp="yes" postag="verb.*?(pres:s:3|past:n).*">здаватися|видаватися|видатися|виглядати|скидатися|уявлятися</token> <token regexp="yes" min="0">би?</token> <token>на</token> <token>перший</token> <token>погляд</token> </antipattern> <antipattern> <token inflected="yes" regexp="yes">покладатися|покластися|зважати|зважити|пристати|впливати|вплинути</token> <token>на</token> </antipattern> <antipattern> <token>погляд</token> <token>здається</token> </antipattern> <rule> <pattern> <marker> <token>на</token> <token regexp="yes">мій|його|її</token> <token regexp="yes">погляд|переконання|думку</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Коли «\1 \2 \3» вжито як вставний елемент, його слід відокремити комами (відсутня права кома)</message> <suggestion>\1 \2 \3,</suggestion> <example correction="на мій погляд,">і <marker>на мій погляд</marker> непогано.</example> <example>і покладався на його думку найбільше</example> <example>тільки на перший погляд здається</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> <exception>як</exception> </token> <marker> <token min="0">як</token> <token>на</token> <token regexp="yes">мій|його|її</token> <token regexp="yes">погляд|переконання|думку</token> </marker> </pattern> <message>Коли «\2 \3 \4 \5» вжито як вставний елемент, його слід відокремити комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4 \5</suggestion> <example correction=", на мій погляд">от<marker> на мій погляд</marker>, прийшов.</example> <example correction=", як на мій погляд">і<marker> як на мій погляд</marker></example> </rule> <rule> <pattern> <marker> <token>на</token> <token>перший</token> <token>погляд</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Коли «\1 \2 \3» вжито як вставний елемент, його слід відокремити комами (відсутня права кома)</message> <suggestion>\1 \2 \3,</suggestion> <example correction="на перший погляд,">і <marker>на перший погляд</marker> непогано.</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> <exception regexp="yes">як|лише?|тільки</exception> </token> <marker> <token min="0">як</token> <token>на</token> <token>перший</token> <token>погляд</token> </marker> </pattern> <message>Вставні слова виділяються комами (відсутня ліва кома)</message> <suggestion>, \2 \3 \4 \5</suggestion> <example correction=", на перший погляд">от<marker> на перший погляд</marker>, прийшов.</example> <example correction=", як на перший погляд">і<marker> як на перший погляд</marker></example> <example>настільки складна, як здається на перший погляд.</example> <example>Лише на перший погляд в е-уряді людям</example> </rule> </rulegroup> <rulegroup id="comma_jak_navmysno" name="Кома: як навмисно"> <antipattern> <token>навмисне</token> <token postag_regexp="yes" postag="noun:inanim:n:v_zna.*" regexp="yes">вбивство|.*ння|.*ття</token> </antipattern> <rule> <pattern> <marker> <token>як</token> <token regexp="yes">навмисн[ео]</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Коли «\1 \2» вжито» як вставний зворот, він відокремлюється комами (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="як навмисне,">і <marker>як навмисне</marker> погано.</example> <example>як навмисне вбивство</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>як</token> <token regexp="yes">навмисн[ео]</token> </marker> </pattern> <message>Коли «\1 \2» вжито» як вставний зворот, він відокремлюється комами (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example correction=", як навмисне">от<marker> як навмисне</marker>, прийшов.</example> <example>як навмисне вбивство</example> <example>як навмисне зняття з перегонів</example> </rule> </rulegroup> <rulegroup id="comma_jak_bachymo" name="Кома:як бачимо"> <!-- ведеться|водиться - mostly FP --> <rule> <antipattern> <token>як</token> <token regexp="yes">відомо|бачимо</token> <token regexp="yes" min="0">вже|ще</token> <token regexp="yes">з|із|зі|на</token> </antipattern> <antipattern> <token>як</token> <token regexp="yes">відомо|бачимо</token> <token regexp="yes">вище|далі|нині|тепер</token> </antipattern> <antipattern> <token>відомо</token> <token min="0">навіть</token> <token postag_regexp="yes" postag="adj:.:v_dav.*" min="0"/> <token postag_regexp="yes" postag="noun.*?:v_dav.*"/> </antipattern> <antipattern> <token>бачимо</token> <token>на</token> <token min="0">цьому</token> <token>прикладі</token> </antipattern> <pattern> <marker> <token>як</token> <token regexp="yes">відомо|бачимо|бачи?те</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> </token> </pattern> <message>Коли «\1 \2» вжито» як вставний зворот, він відокремлюється комами; але коли «\1 \2» вводить цілий зворот, то кому ставимо після цілого звороту (відсутня права кома)</message> <suggestion>\1 \2,</suggestion> <example correction="як відомо,">і <marker>як відомо</marker> цукор містить</example> <example>як відомо з усіх книжок</example> <example>як відомо усім літераторам</example> <example>як бачимо на прикладі</example> <example>багато з яких, як бачимо нині, збулися</example> </rule> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>як</token> <token regexp="yes">відомо|бачимо|бачите</token> </marker> </pattern> <message>Коли «\2 \3» вжито» як вставний зворот, він відокремлюється комами (відсутня ліва кома)</message> <suggestion>, \2 \3</suggestion> <example correction=", як бачимо">от<marker> як бачимо</marker>, прийшов.</example> <example>як навмисне вбивство</example> </rule> </rulegroup> <rulegroup id="no_comma_before_zamist" name="Зайва кома між сполучником і «замість»"> <rule> <pattern> <token postag_regexp="yes" postag="conj.*"> <exception>отже</exception> </token> <token>,</token> <token regexp="yes">замість|для</token> <token>того</token> <token>щоб</token> </pattern> <message>Коли перед «\3 \4 \5» стоїть сполучник, він переважно не відокремлюється від цього звороту комою</message> <suggestion>\1 \3 \4 \5</suggestion> <example correction="і замість того щоб"><marker>і, замість того щоб</marker></example> <example correction="і для того щоб"><marker>і, для того щоб</marker></example> <example>Отже, для того щоб повністю пояснити</example> </rule> </rulegroup> <rulegroup id="comma_before_but" name="Відсутня кома перед «але», «адже» ..."> <rule> <antipattern> <token>одне</token> <token>але</token> </antipattern> <antipattern> <token>а</token> <token regexp="yes">ля|капел?ла</token> </antipattern> <antipattern> <token>хоча</token> <token regexp="yes">би?|[ій]</token> </antipattern> <antipattern> <token regexp="yes">би?</token> <token>хоча</token> </antipattern> <antipattern> <token regexp="yes">же?</token> <token>бо</token> </antipattern> <antipattern> <token postag_regexp="yes" postag="conj.*"> <exception regexp="yes">же?</exception> </token> <token regexp="yes" min="0">же?</token> <token regexp="yes">адже|хоча</token> </antipattern> <pattern case_sensitive="yes"> <marker> <token regexp="yes" negate="yes">&punct_std_no_rquote;|[нН]у <exception postag="SENT_START"/> </token> <token regexp="yes">а|але|адже|хоча|бо</token> </marker> <token regexp="yes" negate="yes">&punct_std;</token> </pattern> <message>Відсутня кома перед сполучником</message> <suggestion>\1, \2</suggestion> <example correction="літери, але">Вгадав всі <marker>літери але</marker> не зміг прочитати слово.</example> <example correction="», а">між «Спілкою<marker>» а</marker> другими</example> <example>Вгадав всі літери — але не зміг прочитати слово.</example> <example>почалося щось а ля комедія</example> <example>Якби не одне але</example> <example>я мав надію, що хоча засновники</example> <example>вахтер мав би хоча запитати</example> <example>але ж зате матимете</example> <example>Боже мій! а що буде з матір'ю</example> <example>Всесвіт припинить своє існування, а це неможливо!</example> <example>Всесвіт припинить своє існування! а це неможливо!</example> <example>Всесвіт припинить своє існування!!! а це неможливо!</example> <example>Всесвіт припинить своє існування!.. а це неможливо!</example> <example>переслати на а/с 150 гривень</example> <example>назви мені хоча б одну і я ...</example> <example>Росія ж бо велика</example> <example>зажив хоча й скандальної, але слави</example> <example>Іди хоча й повільно</example> </rule> <rule> <pattern> <token regexp="yes" negate="yes">&punct_std_no_rquote; <exception postag="SENT_START"/> <exception regexp="yes">а|але</exception> </token> <marker> <token regexp="yes" min="0">а|але</token> <token regexp="yes">проте|отже</token> </marker> <token regexp="yes" negate="yes">&punct_std;</token> </pattern> <message>Відсутня кома перед сполучником</message> <suggestion>, \2 \3</suggestion> <example correction=", а отже">не легко<marker> а отже</marker> з гори легше оборонятися</example> <example correction=", а проте">гроші<marker> а проте</marker> дійшли.</example> <!-- generates too many FP <example correction=", зате">не легко <marker>зате</marker> з гори легше оборонятися</example> --> <example>А проте гроші дійшли.</example> </rule> </rulegroup> <!-- TODO: одначе може бути вставним словом, тоді треба права кома --> <rulegroup id="comma_before_odnak" name="Відсутня кома перед «однак», ..."> <rule> <pattern> <token regexp="yes" negate="yes">&punct_std_no_rquote; <exception postag="SENT_START"/> </token> <marker> <token regexp="yes">однак|одначе</token> </marker> <token regexp="yes" negate="yes">&punct_std;</token> </pattern> <message>Якщо «\2» виступає в ролі сполучника, то перед ним ставимо кому, а якщо «\2» виступає вставним словом, то відокремлюємо його комами з обох боків.</message> <suggestion>, \2</suggestion> <suggestion>, \2,</suggestion> <example correction=", однак|, однак,">гроші<marker> однак</marker> державні.</example> </rule> </rulegroup> <!-- щоб - складний випадок --> <rulegroup id="comma_before_schob" name="Відсутня кома перед «щоб», ..."> <rule> <antipattern> <token>замість</token> <token>того</token> <token>щоб</token> </antipattern> <antipattern> <token>не</token> <token>те</token> <token>щоб</token> </antipattern> <pattern> <token regexp="yes" negate="yes">&punct_std_no_rquote; <exception postag="SENT_START"/> <exception postag_regexp="yes" postag="(part|conj|adv(?!p)).*"/> </token> <marker> <token>щоб</token> </marker> <!-- <token regexp="yes" negate="yes">&punct_std;</token> --> </pattern> <message>Можливо пропущена кома перед «Щоб»? Перед "щоб" зазвичай ставимо кому, якщо тільки це слово не є частиною нерозривного сполучного засобу, як-от «Для того щоб досягти успіху, треба працювати».</message> <suggestion>, \2</suggestion> <example correction=", щоб">що для того<marker> щоб</marker> годувати</example> <example>не те щоб зовсім</example> <example>і щоб йому</example> <example>або щоб передав жінкам</example> <example>вакцинації від гепатиту В. Щоб запобігти</example> </rule> </rulegroup> <rulegroup id="comma_before_prytomu" name="Відсутня кома перед «притому», ..."> <rule> <pattern> <token regexp="yes" negate="yes">&punct_std_no_rquote; <exception postag="SENT_START"/> <exception>і</exception> </token> <marker> <token min="0">і</token> <token>притому</token> </marker> <token regexp="yes" negate="yes">&punct_std;</token> </pattern> <message>Відсутня кома перед сполучником</message> <suggestion>, \2 \3</suggestion> <example correction=", і притому">чуттєвим<marker> і притому</marker> таких, що.</example> </rule> </rulegroup> <!-- <rule> <pattern> <token regexp="yes" negate="yes">&punct_std_no_rquote; <exception postag="SENT_START"/> </token> <marker> <token>ще</token> <token regexp="yes">[ій]</token> </marker> </pattern> <message>Відсутня кома перед сполучником</message> <suggestion>, \2 \3</suggestion> <example correction=", ще й">повернули<marker> ще й</marker> яблук на дорогу дали.</example> <example>А цієї весни нам ще й танцюватимуть по-російськи</example> <example>має відповісти ще й за міліцейський концерт</example> </rule> --> <rulegroup id="comma_after_otzhe" name="Відсутня кома після «отже», ..."> <rule> <pattern case_sensitive="yes"> <marker> <token>Отже</token> </marker> <token negate="yes" regexp="yes">&punct_std;|/|ж</token> </pattern> <message>Відсутня кома після «отже»</message> <suggestion>\1,</suggestion> <example correction="Отже,"><marker>Отже</marker> виникає природна реакція.</example> <example>Отже – усе законно.</example> <example>Отже ж, прикрість яка!</example> </rule> </rulegroup> <rulegroup id="comma_before_v_rezultati_chogo" name="Кома перед «в результаті чого»"> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> <exception regexp="yes">[ій]</exception> </token> <marker> <token regexp="yes" min="0">[ій]</token> <token regexp="yes">[ву]</token> <token regexp="yes">результаті|наслідок</token> <token>чого</token> </marker> </pattern> <message>Відсутня ліва кома</message> <suggestion>, \2 \3 \4 \5</suggestion> <example correction=", в результаті чого">сталася аварія<marker> в результаті чого</marker> помер водій.</example> <example correction=", і в результаті чого">сталася аварія<marker> і в результаті чого</marker> помер водій.</example> </rule> </rulegroup> <rulegroup id="comma_before_za_vynyatkom" name="Кома перед «за винятком»"> <antipattern> <token>хіба</token> <token>що</token> <token>за</token> <token>винятком</token> </antipattern> <antipattern> <token regexp="yes">однак|можливо|тільки|ще</token> <token>за</token> <token>винятком</token> </antipattern> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> <exception postag_regexp="yes" postag="part.*"/> </token> <marker> <token postag_regexp="yes" postag="part.*" min="0"/> <token>за</token> <token>винятком</token> </marker> </pattern> <message>Відсутня ліва кома</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", за винятком">співають усі<marker> за винятком</marker> Інни.</example> <example>і за винятком</example> <example>хіба за винятком</example> <example>у цій провінції, хіба що за винятком ексцесів</example> <example>ніхто, можливо за винятком Луїса</example> </rule> </rulegroup> <rulegroup id="comma_before_zavdyaky_chomu" name="Кома перед «завдяки чому»"> <antipattern> <token postag_regexp="yes" postag="adv(?!p).*"/> <token min="0" regexp="yes">та|[ій]</token> <token>завдяки</token> </antipattern> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> <exception regexp="yes">то|та|[ій]</exception> </token> <marker> <token min="0" regexp="yes">то|та|[ій]</token> <token>завдяки</token> <token postag_regexp="yes" postag=".*v_dav.*" regexp="yes" inflected="yes">що|який</token> </marker> </pattern> <message>Відсутня ліва кома</message> <suggestion>, \2 \3 \4</suggestion> <example correction=", завдяки чому">поясність мені<marker> завдяки чому</marker> пещерна людина...</example> <example correction=", завдяки якому">— це метод<marker> завдяки якому</marker> елементи...</example> <example correction=", то завдяки чому">етапі<marker> то завдяки чому</marker> ви...</example> <example>Коли й завдяки яким факторам</example> </rule> </rulegroup> <rulegroup id="comma_na_ymenniya" name="Кома перед «на ймення»"> <rule> <pattern> <token negate="yes" regexp="yes">&punct_std; <exception postag="SENT_START"/> </token> <marker> <token>на</token> <token regexp="yes">ймення|прізвище|ім'я</token> </marker> <token case_sensitive="yes" regexp="yes">[А-ЯІЇЄҐA-Z].*</token> </pattern> <message>Відсутня ліва кома</message> <suggestion>, \2 \3</suggestion> <example correction=", на ймення">вчений<marker> на ймення</marker> Фред.</example> <example>не заслуговує на ім'я людини</example> </rule> </rulegroup> <rulegroup id="comma_after_do_togo_chasu" name="Кома після «до того часу»"> <rule> <pattern> <token regexp="yes">до|і?з|від <exception scope="previous" regexp="yes">&punct_no_comma_after;</exception> <exception scope="previous" postag="SENT_START"/> </token> <token>того</token> <token>часу</token> <token regexp="yes">коли|як|поки|доки</token> </pattern> <message>Перед «\4» переважно ставиться кома. Але якщо цей зворот вживають як складений сполучник, зокрема на початку речення, комою його не розривають.</message> <suggestion>\1 \2 \3, \4</suggestion> <example correction="до того часу, коли">достояти <marker>до того часу коли</marker> прийде підмога...</example> <example>Ситуація стала ще дивніша 1923 року, після того як французький аристократ</example> </rule> <rule> <pattern> <token regexp="yes">[ву] <exception scope="previous" postag="SENT_START"/> </token> <token>той</token> <token>час</token> <token regexp="yes">коли|як</token> </pattern> <message>Перед «\4» переважно ставиться кома. Але коли цей зворот вживають як складений сполучник, зокрема на початку речення, комою його не розривають («Робітники працювали, в той час як керівники відпочивали»).</message> <suggestion>\1 \2 \3, \4</suggestion> <example correction="в той час, як">працювати <marker>в той час як</marker> всі сплять...</example> <example>У той час як податкові ставки</example> <!-- <example>Робітники працювали, в той час як керівники відпочивали</example> --> </rule> <rule> <antipattern> <token postag_regexp="yes" postag="part.*"> <exception regexp="yes">[ій]</exception> </token> <token>після</token> </antipattern> <pattern> <token>після <exception scope="previous" postag="SENT_START"/> </token> <token>того</token> <token>як</token> </pattern> <message>Перед «\3» переважно ставимо кому. Але коли цей зворот вживають як складений сполучник, зокрема на початку речення, комою його не розривають.</message> <suggestion>\1 \2, \3</suggestion> <example correction="після того, як">працювати <marker>після того як</marker> поїв...</example> <!-- handled by next rule --> <example>навіть після того як система впала</example> </rule> <rule> <pattern> <token postag_regexp="yes" postag="part.*"> <exception regexp="yes">[ій]</exception> </token> <marker> <token>після</token> <token>того</token> <token>як</token> </marker> </pattern> <message>Перед «\4» переважно ставимо кому. Але коли цей зворот вживають як складений сполучник, комою його не розривають.</message> <suggestion>\2 \3, \4</suggestion> <example correction="після того, як">навіть <marker>після того як</marker> поїв...</example> </rule> </rulegroup> <rulegroup id="comma_ne_khto_inshyi" name="Кома: не хто інший"> <rule> <pattern> <token regexp="yes">н[еі]</token> <token>хто</token> <token>інший</token> <token>як</token> </pattern> <message>Пропущено кому перед «як»</message> <suggestion>\1 \2 \3, \4</suggestion> <example correction="не хто інший, як">і <marker>не хто інший як</marker> Петро</example> </rule> <rule> <pattern> <token regexp="yes">н[еі]</token> <token>що</token> <token>інше</token> <token>як</token> </pattern> <message>Пропущено кому перед «як»</message> <suggestion>\1 \2 \3, \4</suggestion> <example correction="не що інше, як">і <marker>не що інше як</marker> метро</example> </rule> </rulegroup> <rulegroup id="comma_stilky_skilky" name="Кома: стільки... скільки"> <rule> <antipattern> <token>не</token> <token>скільки</token> </antipattern> <pattern> <token>стільки</token> <token min="1" max="8"> <exception regexp="yes">&punct_no_comma_after;|скільки</exception> </token> <marker> <token>скільки</token> </marker> </pattern> <message>У звороті «стільки ... скільки» перед «\3» ставиться кома</message> <suggestion>, \3</suggestion> <example correction=", скільки">не стільки моралі<marker> скільки</marker> всього іншого.</example> <example correction=", скільки">не стільки порушення норм моралі<marker> скільки</marker> всього іншого.</example> <example>але вже не стільки і не скільки проти</example> </rule> </rulegroup> <rulegroup id="comma_ne_tak_yak" name="Кома: не так... як"> <rule> <pattern> <token>не</token> <token>так</token> <token min="1" max="8"> <exception regexp="yes">&punct_no_comma_after;|як</exception> </token> <marker> <token>як</token> </marker> </pattern> <message>У подвійному сполучному засобі «не так ... як», який поєднує однорідні члени речення, перед «\4» ставимо кому</message> <suggestion>, \4</suggestion> <example correction=", як">не так про статус мови<marker> як</marker> про все інше</example> <example>не так серця (як сказав би Коельо), а</example> </rule> </rulegroup> <rulegroup id="comma_yak_tak" name="Кома: як... так"> <rule> <antipattern> <token>як</token> <token regexp="yes">сталося|вийшло|вдалося|могло|може|це</token> <token>так</token> </antipattern> <antipattern> <token>як</token> <token postag_regexp="yes" postag="verb.*?inf.*"/> <token>так</token> </antipattern> <antipattern> <token>як</token> <token postag_regexp="yes" postag="noun.*"/> <token>так</token> <token postag_regexp="yes" postag="adv(?!p).*"/> </antipattern> <pattern> <token>як</token> <token min="1" max="8"> <exception regexp="yes">&punct_no_comma_after;|же|би|так</exception> </token> <marker> <token>так <exception scope="previous">саме</exception> <exception scope="next" inflected="yes">званий</exception> <exception scope="next" regexp="yes">само|,</exception> <exception scope="next" postag_regexp="yes" postag="verb.*"/> <exception scope="next" postag_regexp="yes" postag="adv(?!.*comp[cs]).*"/> </token> </marker> </pattern> <message>У звороті «як ... так (і)» перед «\3» ставиться кома</message> <suggestion>, \3</suggestion> <example correction=", так">саме як нема<marker> так</marker> нема</example> <example>як ухвалив рішення вбити всіх там так само, як</example> <example>Не знаю, як довго я так лежав,</example> <example>як ми можемо так жити</example> <example>як же так?</example> <example>тоді як Віктор Ющенко вів перемовини зі своїм так званим батьком</example> <example>А тоді, як усе зробиш і станеться саме так, як написано</example> <example>Як зробити так, щоби міліціонер</example> <example>Як полякам так швидко вдалося</example> <example>Як склалось так, що колишній прем’єр-міністр</example> <example>Як ти міг так швидко</example> </rule> </rulegroup> <rulegroup id="comma_tikly_no_yak" name="Кома: тільки но... як"> <rule> <pattern> <token>тільки</token> <token regexp="yes">но|що|лиш</token> <token min="1" max="8"> <exception regexp="yes">&punct_no_comma_after;|як</exception> </token> <marker> <token>як</token> </marker> </pattern> <message>У звороті «\1 \2 ... \4» перед «\4» ставиться кома</message> <suggestion>, \4</suggestion> <example correction=", як">тільки но він підвівся<marker> як</marker> його забрали</example> </rule> </rulegroup> <rulegroup id="comma_schoyno_yak" name="Кома: щойно... як"> <rule> <pattern> <token>щойно</token> <token min="1" max="8"> <exception regexp="yes">&punct_no_comma_after;|як</exception> </token> <marker> <token>як</token> </marker> </pattern> <message>У парному сполучному засобі «\1 ... \3», що поєднує частини складного речення, перед «\3» ставиться кома</message> <suggestion>, \3</suggestion> <example correction=", як">щойно він підвіся<marker> як</marker> його забрали</example> </rule> </rulegroup> <rulegroup id="comma_chy_to_chy_to" name="Кома: чи то... чи то"> <rule> <pattern> <token>чи</token> <token>то</token> <token min="1" max="8"> <exception regexp="yes">&punct_no_comma_after;|чи</exception> </token> <marker> <token>чи</token> </marker> </pattern> <message>У повторюваному сполучнику «\1 \2 ... \4» перед другим «\4» ставиться кома</message> <suggestion>, \4</suggestion> <example correction=", чи">чи то він їв<marker> чи</marker> радіо слухав</example> </rule> </rulegroup> <rulegroup id="comma_chym_tym" name="Кома: чим... тим"> <rule> <pattern> <token>чим</token> <token min="1" max="8"> <exception regexp="yes">&punct_no_comma_after;|тим</exception> </token> <marker> <token>тим</token> </marker> </pattern> <message>У парному сполучному засобі «\1 ... \3» перед «\3» ставиться кома</message> <suggestion>, \3</suggestion> <example correction=", тим">чим швидше<marker> тим</marker> краще</example> </rule> </rulegroup> <rulegroup id="comma_ani_ani" name="Кома: (а)ні... (а)ні"> <antipattern> <token>ні</token> <token regexp="yes">кола|ждано|живі|кінця|краю|сіло|те|се|туди|сюди|жив(ий|[аеі])|так|сяк|пава|холодно|слуху|світ|риба|сном|пройти|пуху|вашим|багато</token> <token>ні</token> <token regexp="yes">двора|гадано|мертві|кінця|краю|впало|те|се|туди|сюди|мертв(ий|[аеі])|так|сяк|[гґ]ава|жарко|гаряче|духу|зоря|м'ясо|духом|проїхати|пера|нашим|мало</token> </antipattern> <antipattern> <token>ні</token> <token>в</token> <token regexp="yes">тих|сих|тин</token> <token>ні</token> </antipattern> <antipattern> <token>ні</token> <token>з</token> <token regexp="yes">того|сього</token> <token>ні</token> </antipattern> <antipattern> <token>ні</token> <token>за</token> <token>що</token> <token>ні</token> </antipattern> <rule> <pattern> <token regexp="yes">а?ні</token> <token min="1" max="8"> <exception regexp="yes">&punct_no_comma_after;|а?ні</exception> </token> <marker> <token><match no="0"/> <exception scope="previous" regexp="yes">або|чи|та</exception> </token> </marker> </pattern> <message>У повторюваному сполучнику «\1 ... \3» перед другим (і кожним наступним) «\3» ставиться кома. Виняток — фразеологізми із такою структурою (ні в сих ні в тих тощо).</message> <suggestion>, \3</suggestion> <example correction=", ані">ані синіх<marker> ані</marker> зелених</example> <example>, ані численні відверті нападки на колег ні в кого не викликали підозр</example> <example>ні туди ні сюди</example> <example>ні від кого: ні від МВФ, ні від Росії</example> <example>якому ні на кого чи ні на що спертись</example> </rule> </rulegroup> <rulegroup id="no_comma_ani_ani" name="Зайва кома: (а)ні... (а)ні"> <rule> <pattern> <marker> <token>ні</token> <token regexp="yes">кола|ждано|живі|кінця|краю|сіло|те|се|туди|сюди|жив(ий|[аеі])|так|сяк|пава|холодно|слуху|світ|риба|сном|пройти|пуху|вашим|багато</token> <token>,</token> <token>ні</token> </marker> <token regexp="yes">двора|гадано|мертві|кінця|краю|впало|те|се|туди|сюди|мертв(ий|[аеі])|так|сяк|[гґ]ава|жарко|гаряче|духу|зоря|м'ясо|духом|проїхати|пера|нашим|мало</token> </pattern> <message>У звороті «\1 \2 \4 ...» перед другим «\4» кома не ставиться</message> <suggestion>\1 \2 \4</suggestion> <example correction="ні кола ні"><marker>ні кола, ні</marker> двора</example> <example correction="ні живий ні"><marker>ні живий, ні</marker> мертвий</example> <example>якщо ні те, ні інше неможливо</example> </rule> </rulegroup> <rulegroup id="no_right_comma_do_togo_zh" name="Зайва права кома: до того ж"> <rule> <pattern> <token>до</token> <token>того</token> <token>ж</token> <token>,</token> </pattern> <message>Після цієї сполуки кома не ставиться (хоча кому можуть диктувати інші конструкції)</message> <suggestion>\1 \2 \3</suggestion> <example correction="до того ж">і <marker>до того ж,</marker> слід вважати...</example> </rule> </rulegroup> <rulegroup id="no_right_comma_tym_chasom" name="Зайва права кома: тим часом"> <rule> <pattern> <token>тим</token> <token>часом</token> <token>,</token> </pattern> <message>Після цієї сполуки кома не ставиться (хоча кому можуть диктувати інші конструкції)</message> <suggestion>\1 \2</suggestion> <example correction="тим часом">і <marker>тим часом,</marker> слід вважати...</example> </rule> </rulegroup> <rulegroup id="no_right_comma_v_tomu_chysli" name="Зайва права кома: в тому числі як"> <rule> <pattern> <token regexp="yes">[ву]</token> <token>тому</token> <token>числі</token> <token>,</token> </pattern> <message>Після цієї сполуки кома не ставиться за винятком інверсійних конструкцій, де вона стоїть в кінці: «Всі громадяни, і ми в тому числі, маємо право…» (також кому можуть диктувати й інші конструкції)</message> <suggestion>\1 \2 \3</suggestion> <example correction="в тому числі">і <marker>в тому числі,</marker> мінометникам...</example> </rule> <!-- <rule> <antipattern> <token>як</token> <token postag_regexp="yes" postag="noun.*:v_zna.*"/> <token inflected="yes">бути</token> </antipattern> <pattern> <token postag_regexp="yes" postag="noun.*"/> <token>,</token> <token>як</token> <token postag_regexp="yes" postag="noun.*:v_zna.*"> <exception postag_regexp="yes" postag=".*(pron|prop).*"/> <exception postag_regexp="yes" postag="noun.*:v_zna.*" negate_pos="yes"/> <exception>слід</exception> </token> </pattern> <message>Звороти, що вводяться в речення за допомогою сполучника як і мають значення «у ролі кого, чого», комою не виділяються</message> <suggestion>\1 \3 \4</suggestion> <url>http://pravopys.net/sections/118/</url> <example correction="відповідь як згоду">Сприймаємо вашу <marker>відповідь, як згоду</marker>.</example> <example>витіснення зі сфери публічного застосування, як це робить документ</example> <example>опису того, як Власенко та інші адвокати зневажали суддю</example> <example>про те, як слід поводитися</example> <example>вдався до таких крайніх дій, як зрив засідань</example> <example>ще не висохло чорнило на паперах, як угоду було залито кров’ю</example> </rule> <rule> <pattern> <token postag_regexp="yes" postag="verb.*"/> <token>,</token> <token regexp="yes">як|мов|ніби</token> <token postag_regexp="yes" postag="noun.*"> <exception postag_regexp="yes" postag="noun.*" negate_pos="yes"/> <exception postag_regexp="yes" postag=".*(pron|prop).*"/> </token> </pattern> <message>Іменна частина складеного присудка, приєднана з допомогою сполучників як, мов, ніби тощо, комою не відокремлюється</message> <suggestion>\1 \3 \4</suggestion> <url>http://pravopys.net/sections/118/</url> <example correction="зробилися як лід">Руки <marker>зробилися, як лід</marker>.</example> <example>пам'ятав, як ніс рушницю</example> <example>так робив, як вона каже</example> </rule> --> </rulegroup> <rulegroup id="no_comma_needed_conj" name="Зайва кома - сполучники"> <rule> <pattern> <token postag_regexp="yes" postag="verb.*"/> <token>,</token> <token>як</token> <token>рак</token> </pattern> <message>Зайва кома</message> <suggestion>\1 \3 \4</suggestion> <url>http://pravopys.net/sections/118/</url> <example correction="почервонів як рак"><marker>почервонів, як рак</marker>.</example> </rule> <rule> <pattern> <token postag_regexp="yes" postag="verb.*"/> <token>,</token> <token>як</token> <token>з</token> <token>відра</token> </pattern> <message>У сталих фразеологічних зворотах перед порівняльним сполучником кома не ставиться</message> <suggestion>\1 \3 \4 \5</suggestion> <url>http://pravopys.net/sections/118/</url> <example correction="лив як з відра">Дощ <marker>лив, як з відра</marker>.</example> </rule> </rulegroup> <rulegroup id="no_comma_needed_false_insert" name="Зайва кома - файльшиві вставні слова"> <rule> <pattern> <token>,</token> <token regexp="yes">[ву]се</token> <token>ж</token> <token>,</token> </pattern> <message>Сполучний засіб «\2 \3» не буває вставним і комами не відокремлюється (хоча кому можуть диктувати інші конструкції)</message> <suggestion> \2 \3</suggestion> <example correction=" все ж">і<marker>, все ж,</marker> не сподобалося</example> </rule> <rule> <pattern> <token>тим</token> <token regexp="yes">більше|паче</token> <token>, <exception scope="next">що</exception> </token> </pattern> <message>Сполучний засіб «\1 \2» не буває вставним і комами не відокремлюється (хоча кому можуть диктувати інші конструкції)</message> <suggestion>\1 \2</suggestion> <example correction="тим більше">і, <marker>тим більше,</marker> не сподобалося</example> <example>тим більше, що</example> </rule> <rule> <pattern> <token>,</token> <token regexp="yes">[ву]се-таки</token> <token>,</token> </pattern> <message>Слово «\2» не буває вставним словом і комами не відокремлюється (хоча кому можуть диктувати інші конструкції)</message> <suggestion> \2</suggestion> <example correction=" все-таки">і<marker>, все-таки,</marker> не сподобалося</example> </rule> <rule> <pattern> <token>,</token> <token>принаймні</token> <token>,</token> </pattern> <message>Слово «\2» не буває вставним словом і комами не відокремлюється (хоча кому можуть диктувати інші конструкції)</message> <suggestion> \2</suggestion> <example correction=" принаймні">і<marker>, принаймні,</marker> не сподобалося</example> </rule> <rule> <pattern> <token regexp="yes">[ій]</token> <marker> <token regexp="yes">[ву]се-таки</token> <token>,</token> </marker> </pattern> <message>Слово «\2» не буває вставним словом s комами не відокремлюється (хоча кому можуть диктувати інші конструкції)</message> <suggestion>\2</suggestion> <example correction="все-таки">і <marker>все-таки,</marker> не сподобалося</example> </rule> <rule> <pattern> <token>,</token> <token regexp="yes">натомість|насамперед|насамкінець|наостанок|наостанці|наприкінці|насправді|більш-менш|водночас|здебільшого|інколи|іноді|передусім|передовсім</token> <token>,</token> </pattern> <message>«\2» не буває вставним словом і комами не відокремлюється (хоча кому можуть диктувати інші конструкції)</message> <suggestion> \2</suggestion> <example correction=" натомість">і<marker>, натомість,</marker> пішли у паб</example> </rule> <rule> <pattern> <or> <token postag="SENT_START"/> <token regexp="yes">[ійа]</token> </or> <marker> <token regexp="yes">натомість|насамперед|насправді|більш-менш|водночас</token> <token>,</token> </marker> </pattern> <message>«\2» не буває вставним словом і комами не відокремлюється (хоча кому можуть диктувати інші конструкції)</message> <suggestion>\2</suggestion> <example correction="натомість">і <marker>натомість,</marker> пішли у паб</example> </rule> <!-- <rule> <pattern> <token>,</token> <token>вочевидь</token> <token>,</token> </pattern> <message>Прислівник «вочевидь» не буває вставним словом, можливо ви мали на увазі <suggestion>, очевидно,</suggestion></message> <suggestion>, мабуть,</suggestion> <suggestion>, певно,</suggestion> <suggestion>\2</suggestion> <example correction=", очевидно,|, мабуть,|, певно,|вочевидь">то<marker>, вочевидь,</marker> зовсім не сподобалося</example> </rule> --> </rulegroup> <rulegroup id="no_comma_ani_ani_2" name="Зайва кома: (а)ні... (а)ні (2)"> <rule> <pattern> <marker> <token>ні</token> <token regexp="yes">[ву]</token> <token regexp="yes">тих|сих|тин</token> <token>,</token> <token>ні</token> </marker> <token regexp="yes">[ву]</token> <token regexp="yes">сих|тих|ворота</token> </pattern> <message>У звороті «\1 \2 \3 \5 ...» перед другим «\5» кома не ставиться</message> <suggestion>\1 \2 \3 \5</suggestion> <example correction="ні в тин ні"><marker>ні в тин, ні</marker> в ворота</example> </rule> <rule> <pattern> <token>ні</token> <token>з</token> <token regexp="yes">того|сього</token> <token>,</token> <token>ні</token> </pattern> <message>У звороті «\1 \2 \3 \5 ...» перед другим «\5» кома не ставиться</message> <suggestion>\1 \2 \3 \5</suggestion> <example correction="ні з того ні"><marker>ні з того, ні</marker> з сього</example> </rule> <rule> <pattern> <token>ні</token> <token>за</token> <token>що</token> <token>,</token> <token>ні</token> </pattern> <message>У звороті «\1 \2 \3 \5 ...» перед другим «\5» кома не ставиться</message> <suggestion>\1 \2 \3 \5</suggestion> <example correction="ні за що ні"><marker>ні за що, ні</marker> про що</example> </rule> </rulegroup> <rulegroup id="comma_tak_samo_yak" name="Кома: так само як"> <rule> <pattern> <token regexp="yes">цілком|зовсім|взагалі|вже|майже|абсолютно|більш-менш|десь|достоту|достеменно|практично|приблизно|точно|точнісінько|фактично</token> <marker> <token>так</token> <token>само</token> <token>як</token> </marker> </pattern> <message>«так, само як» пишемо з комою</message> <suggestion>\2 \3, \4</suggestion> <example correction="так само, як">і точнісінько <marker>так само як</marker> Петро</example> </rule> </rulegroup> <rulegroup id="no_comma_tak_samo_yak" name="Зайва кома: так само як"> <antipattern> <token regexp="yes">цілком|зовсім|взагалі|вже|майже|абсолютно|більш-менш|десь|достоту|достеменно|практично|приблизно|точно|точнісінько|фактично</token> <token>так</token> <token>само</token> </antipattern> <rule> <pattern> <token>так</token> <token>само</token> <token>,</token> <token>як</token> </pattern> <message>Складений сполучний засіб "так само як" пишемо без коми, однак кому ставимо в конструкціях типу "робити так само, як хтось", де "так само" є обставиною способу дії, до якої можна поставити запитання (робити як? так само). Коли ж "так само як" вжито як сполучний засіб всередині речення, то кому потрібно ставити перед ним.</message> <suggestion> \1 \2 \4</suggestion> <suggestion>, \1 \2 \4</suggestion> <example correction=" так само як|, так само як">і<marker> так само, як</marker> Петро</example> </rule> <rule> <pattern> <token>тим</token> <token>часом</token> <token>,</token> <token>як</token> </pattern> <message>Зайва кома перед «як» (кома ставиться лише перед сполукою)</message> <suggestion>\1 \2 \4</suggestion> <example correction="тим часом як">і <marker>тим часом, як</marker> Петро</example> </rule> </rulegroup> <!-- Too many FP: Коли «тоді як» вжито в ролі сполучного засобу (Він помилявся, тоді як вона мала рацію.) ставимо кому перед «тоді» і не ставимо перед «як». Однак коли в реченні можна поставити запитання (коли? тоді), ставимо лише одну кому перед «як» (Вони прийдуть тоді, як звільняться.) <rule name="Тоді, як" default="off"> <pattern> <token>тоді</token> <token>,</token> <token>як <exception scope="next">і</exception> </token> </pattern> <message>Зайва кома перед «як» (кома ставиться лише перед сполукою)</message> <suggestion>\1 \3</suggestion> <example correction="тоді як">і <marker>тоді, як</marker> Петро</example> <example>Тоді, як і тепер</example> </rule> --> <rulegroup id="no_comma_ne_te_schob" name="Зайва кома: не те щоб"> <rule> <pattern> <token>не</token> <token>те</token> <token>,</token> <token>щоб</token> </pattern> <message>У парних сполучниках «не те що … а/але », «не те щоб … , а/але/однак» кому ставимо лише перед другою частиною, а перед «що» і «щоб» кома не потрібна. Інколи вживають лише першу частину цих сполучників «Вони не те щоб погані»</message> <suggestion>\1 \2 \4</suggestion> <example correction="не те щоб">і <marker>не те, щоб</marker> йому це муляло</example> <!-- FP: <example>важливо не те, щоб газ був дешевим,</example> --> </rule> </rulegroup> <rulegroup id="no_comma_skilky_zavgodno" name="Зайва кома: скільки завгодно"> <rule> <pattern> <token>,</token> <token>скільки</token> <token>завгодно</token> </pattern> <message>У цій сталій сполуці кома перед «скільки» не ставиться: </message> <suggestion> \2 \3</suggestion> <example correction=" скільки завгодно">і кричи <marker>, скільки завгодно</marker>.</example> </rule> </rulegroup> <rulegroup id="no_comma_bilsh_nizh" name="Зайва кома: більш/менш ніж"> <rule> <pattern> <token regexp="yes">більш|менш|раніш|пізніш|перш</token> <token>,</token> <token regexp="yes">а?ніж|як</token> </pattern> <message>В конструкції «\1 \3», кома перед «\3» не ставиться, за винятком випадків, коли є порівняння двох об'єктів і можна поставити запитання «коли?» або «скільки?»</message> <suggestion>\1 \3</suggestion> <url>http://pravopys.net/sections/118/</url> <example correction="більш ніж">і <marker>більш, ніж</marker> 20%</example> </rule> </rulegroup> <rulegroup id="missing_space" name="Пропуски"> <rule> <pattern> <token regexp="yes">.*[а-яіїєґ]</token> <marker> <token>,</token> <token spacebefore="no" regexp="yes">[^ ”—–-]</token> </marker> </pattern> <message>Відсутній пробіл після коми</message> <suggestion>\2 \3</suggestion> <example correction=", і">я цього досягла<marker>,і</marker> все</example> <example>я цього досягла, і все</example> </rule> </rulegroup> <rulegroup id="short_vs_long_dash" name="Дефіс замість тире" tags="picky"> <rule> <pattern> <token regexp="yes">[а-яіїєґ'-]+</token> <token min="0">,</token> <marker> <token spacebefore="yes">-</token> </marker> <token spacebefore="yes" regexp="yes">[а-яіїєґ'-]+</token> </pattern> <message>Між словами краще ставити тире</message> <suggestion>—</suggestion> <example correction="—">все це <marker>-</marker> йому.</example> <example>10 - 10</example> </rule> </rulegroup> <rulegroup id="comma_with_yak" name="Коми перед підрядним сполучником або сполучним словом" tags="picky"> <rule> <pattern> <token>не</token> <token>хто</token> <marker> <token>інший</token> <token>як</token> </marker> </pattern> <message>Кому ставимо перед як у зворотах не хто інший, як...; не що інше, як... (правопис §158, ІІ, п. 3, прим. 4)</message> <suggestion>\3, \4</suggestion> <example correction="інший, як">і не хто <marker>інший як</marker> директор.</example> </rule> <rule> <pattern> <token>не</token> <token>що</token> <marker> <token>інше</token> <token>як</token> </marker> </pattern> <message>Кому ставимо перед як у зворотах не хто інший, як...; не що інше, як... (правопис §158, ІІ, п. 3, прим. 4)</message> <suggestion>\3, \4</suggestion> <example correction="інше, як">і не що <marker>інше як</marker> вино.</example> </rule> </rulegroup> <rulegroup id="no_comma_with_ne_te" name="Без коми перед підрядним сполучником або сполучним словом" tags="picky"> <rule> <pattern> <token>не</token> <marker> <token>інакше</token> <token>,</token> <token>як</token> </marker> </pattern> <message>Коми не ставимо в конструкціях на зразок не інакше як, не те що, не те щоб, тільки й розмов що, тільки й того що і под.</message> <suggestion>\2 \4</suggestion> <example correction="інакше як">і не <marker>інакше, як</marker> шедеврами</example> </rule> <rule> <pattern> <token>не</token> <marker> <token>те</token> <token>,</token> <token regexp="yes">щоб?</token> </marker> </pattern> <message>Коми не ставимо в конструкціях на зразок не інакше як, не те що, не те щоб, тільки й розмов що, тільки й того що і под.</message> <suggestion>\2 \4</suggestion> <example correction="те що">і не <marker>те, що</marker> дуже далеко</example> </rule> <rule> <pattern> <token>тільки</token> <token regexp="yes">[ій]</token> <marker> <token regexp="yes">розмов|того</token> <token>,</token> <token>що</token> </marker> </pattern> <message>Коми не ставимо в конструкціях на зразок не інакше як, не те що, не те щоб, тільки й розмов що, тільки й того що і под.</message> <suggestion>\3 \5</suggestion> <example correction="розмов що">тільки й <marker>розмов, що</marker> дуже далеко</example> <example correction="того що">тільки й <marker>того, що</marker> дуже далеко</example> </rule> </rulegroup> <rulegroup id="jakscho_to" name="Кома: якщо ... то"> <antipattern> <token>то</token> <token min="1" max="6"> <exception>то</exception> </token> <token>то</token> </antipattern> <antipattern> <token>якщо</token> <token>ж</token> <token>то</token> </antipattern> <rule> <pattern> <token>якщо</token> <token max="7"> <exception regexp="yes">то|[,;:()…—–-]|\.\.\.</exception> </token> <marker> <token>то <exception scope="previous" regexp="yes">,|не|а|чи|і|й|та</exception> <!-- <exception scope="next" inflected="yes">бути</exception> --> </token> </marker> </pattern> <message>В звороті «якщо ... то» перед «то» ставимо кому</message> <suggestion>, \3</suggestion> <example correction=", то">якщо побачиш<marker> то</marker> передай йому.</example> <example>якщо щось, а не то</example> <example>якщо щось трапиться, приходь, то буде швидко</example> <example>якщо ... то ...</example> <example>якщо чи то він чи то вона</example> <example>якщо вона рухається то вперед, то назад</example> <example>якщо ж то був він</example> </rule> </rulegroup> <rulegroup id="no_comma_toscho" name="Зайва кома перед «тощо»"> <rule> <pattern> <token>,</token> <token>тощо</token> </pattern> <message>Перед словом «тощо», що вказує на неповноту переліку або продовження кому не ставимо.</message> <suggestion> \2</suggestion> <example correction=" тощо">сині, зелені<marker>, тощо</marker>.</example> </rule> </rulegroup> <rulegroup id="comma_tomuscho" name="Потрібна кома перед або всередині «тому що»"> <rule> <pattern> <token>тому <exception scope="previous">,</exception> <exception scope="previous" postag="SENT_START"/> </token> <token>що</token> </pattern> <message>Якщо «тому що» можна замінити на «бо», кому ставимо перед «тому що». Якщо ж така заміна неможлива, але можна поставити запитання до слова «тому», кома має стояти після «тому».</message> <suggestion>, \1 \2</suggestion> <suggestion>\1, \2</suggestion> <example correction=", тому що|тому, що">спізнився<marker> тому що</marker> проспав.</example> <example correction=", тому що|тому, що">спізнився не<marker> тому що</marker> проспав, ...</example> <example>Тому що ми застрягли</example> </rule> </rulegroup> <rulegroup id="chy_chy" name="Кома: чи ... чи"> <rule> <pattern> <token>чи</token> <token max="5"><exception regexp="yes">[,;:-]|чи</exception></token> <marker> <token>чи</token> </marker> </pattern> <message>Перед повторюваним сполучником чи ставимо кому</message> <suggestion>, \3</suggestion> <example correction=", чи">чи літо<marker> чи</marker> зима.</example> <example correction=", чи">чи холодне літо<marker> чи</marker> зима.</example> <example><marker>чи холодне літо; чи вже прилетіли птахи</marker> зима.</example> </rule> </rulegroup> <rule id="na_chyyus_dumku" name="На чиюсь думку"> <pattern> <token postag="SENT_START"/> <marker> <token>на</token> <token regexp="yes">мою|нашу|його|її|їхню</token> <token>думку</token> </marker> <token> <exception regexp="yes">&punct_std;</exception> </token> </pattern> <message>Після вставного звороту має йти кома</message> <suggestion>\2 \3 \4,</suggestion> <example>пристав на його думку</example> <example correction="На мою думку,"><marker>На мою думку</marker> це марнотратство.</example> </rule> <!-- <rule name="А саме" default="off"> <pattern> <marker> <token>а</token> <token>саме</token> </marker> <token negate="yes" regexp="yes">&punct_std; <exception postag_regexp="yes" postag="SENT_END|PARA_END">.</exception> <exception postag_regexp="yes" postag="(noun|adj).*?:n:v_(naz|zna).*"/> <exception inflected="yes">такий</exception> </token> </pattern> <message>Відсутня кома або двокрапка після «\1 \2»</message> <suggestion>\1 \2:</suggestion> <suggestion>\1 \2,</suggestion> <example correction="а саме:|а саме,">спецкольори, <marker>а саме</marker> сині, зелені та білі.</example> <example>а саме середнє значення</example> <example>а саме такий</example> </rule> --> <!-- <rulegroup id="VOCATIVE_NO_COMMA" name="Кличний без коми" default="off"> <rule> <pattern> <token postag_regexp="yes" postag="noun:inanim.*v_kly.*"> <exception negate_pos="yes" postag_regexp="yes" postag="noun:inanim.*v_kly.*"/> <exception case_sensitive="yes" regexp="yes">[А-ЯІЇЄҐ].*</exception> </token> <token postag_regexp="yes" postag="adj.*v_kly.*" min="0"/> <token negate="yes" regexp="yes">[,\.!?:»”“«„—-]|[.!?]{3} <exception postag_regexp="yes" postag="adj.*v_kly.*"/> </token> </pattern> <message>Кличний відмінок виділяється комою</message> <suggestion><match no="1"/> <match no="2"/>, <match no="3"/></suggestion> <example correction="душе , швидко">Однак <marker>душе швидко</marker> на трасі її з'їла норвежка.</example> <example>прийди, відрадо, прийди!</example> <example>Не лізь, бо задушу, іродова душе!</example> <example>прийди, душе моя, прийди!</example> <example>Вельмишановна українська газето «Україно молода»!</example> <example>Сергій Свитко здіймав</example> <example>Панове укропи, хунто та інші фашисти</example> <example>ти будеш жити, Україно, країно щастя і добра!</example> <example>Важка ти, шапко Мономаха</example> </rule> </rulegroup> --> <!-- TODO: ніж --> </category> </rules>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy