"""
Grammar checker regex rules
"""

# generated code, do not edit

lParagraphRules = [
  ["tab", [
    ['^[ \xa0\u202f   ]+', False, '#357p', 'tab_début_ligne', 4, [[None, '-', '', 0, 'Espace·s en début de ligne à supprimer\xa0: utilisez les retraits de paragraphe.', '']]],
    ['[ \xa0\u202f    ]+$', False, '#358p', 'tab_fin_ligne', 4, [[None, '-', '', 0, 'Espace·s en fin de ligne à supprimer.', '']]],
  ]],
  ["esp", [
    ['^[ \xa0\u202f]+', False, '#366p', 'esp_début_ligne', 4, [[None, '-', '', 0, 'Espace·s en début de ligne à supprimer\xa0: utilisez les retraits de paragraphe (ou les tabulations à la rigueur).', '']]],
    ['[ \xa0\u202f]+$', False, '#367p', 'esp_fin_ligne', 4, [[None, '-', '', 0, 'Espace·s en fin de ligne à supprimer.', '']]],
    ['(?:\\b|[.?!,:;%‰‱˚»”])(  +)', False, '#368p', 'esp_milieu_ligne', 4, [[None, '-', ' ', 1, 'Espace·s surnuméraire·s à supprimer.', '']]],
    ['(?: \xa0|\xa0 )', False, '#378p', 'esp_mélangés1', 4, [[None, '-', ' |\xa0', 0, 'Incohérence\xa0: l’espace insécable à côté de l’espace sécable n’a pas d’effet.', '']]],
    ['(?:\\u0009[ \xa0]|[ \xa0]\\u0009)', False, '#379p', 'esp_mélangés2', 4, [[None, '-', ' |\t', 0, 'Incohérence\xa0: espace et tabulation.', '']]],
    ['[\xa0\u202f][\xa0\u202f]+', False, '#386p', 'esp_insécables_multiples', 4, [[None, '-', ' |\u202f', 0, 'Espace·s insécable·s surnuméraire·s à supprimer.', '']]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]*)( [-–—]|[-–—] )(\\w[\\w-]*)(?![\\w–-])', True, '#393p', 'esp_avant_après_tiret', 4, [['_c_esp_avant_après_tiret_1', '>', ''], ['_c_esp_avant_après_tiret_2', '-', '\\1-\\3|\\1 – \\3|\\1 — \\3', 0, 'Espace superflu s’il s’agit bien d’une forme conjuguée interrogative (sinon, il manque un espace à côté du tiret).', ''], ['_c_esp_avant_après_tiret_3', '-', ' – | — ', 2, 'Il manque un espace à côté du tiret.', '']]],
  ]],
  ["typo", [
    ['([\\[(]) ', False, '#416p', 'typo_espace_après_signe_ouvrant', 4, [[None, '-', '\\1', 0, 'Pas d’espace après ce signe.', '']]],
    [' ([\\])])', False, '#417p', 'typo_espace_avant_signe_fermant', 4, [[None, '-', '\\1', 0, 'Pas d’espace avant ce signe.', '']]],
    ['[)]\\b(?![s¹²³⁴⁵⁶⁷⁸⁹⁰]\\b)', False, '#427p', 'typo_parenthèse_fermante_collée', 4, [['_c_typo_parenthèse_fermante_collée_1', '-', ') ', 0, 'Il manque un espace après la parenthèse.', '']]],
    ['\\b[(](?=[^)][^)][^)])', False, '#430p', 'typo_parenthèse_ouvrante_collée', 4, [[None, '-', ' (', 0, 'Il manque un espace avant la parenthèse.', '']]],
    ['[ \xa0][.](?=[ \xa0])', False, '#441p', 'typo_point_entre_deux_espaces', 4, [[None, '-', '.', 0, 'Pas d’espace avant un point.', '']]],
    ['[ \xa0][.](?=\\w)', False, '#442p', 'typo_point_collé_à_mot_suivant', 4, [[None, '-', '. |.', 0, 'L’espace se place après le point, et non avant (ou bien sert de liant entre deux lettres).', '']]],
    ['\\w+([ \xa0]…)', False, '#449p', 'typo_points_suspension_après_espace', 4, [[None, '-', '…', 1, 'Pas d’espace avant le signe “…”.', '']]],
    ['[ \xa0],(?=[ \xa0])', False, '#457p', 'typo_virgule_entre_deux_espaces', 4, [[None, '-', ',', 0, 'Pas d’espace avant une virgule.', '']]],
    ['[ \xa0],(?=\\w)', False, '#458p', 'typo_virgule_collée_à_mot_suivant', 4, [[None, '-', ', ', 0, 'Pas d’espace avant une virgule. Un espace après.', '']]],
    ['[ \xa0]”[ \xa0]', False, '#465p', 'typo_guillemets_fermants_perdus', 4, [[None, '-', '” | “', 0, 'Pas d’espace avant ces guillemets ouvrants.', '']]],
    ['[ \xa0]“[ \xa0]', False, '#468p', 'typo_guillemets_ouvrants_perdus', 4, [[None, '-', ' “|” ', 0, 'Pas d’espace après ces guillemets ouvrants.', '']]],
    ['[ \xa0\u202f](?:"|[\'‘’][\'‘’])[ \xa0\u202f]', False, '#471p', 'typo_guillemets_perdus', 4, [[None, '-', ' «\xa0|\xa0» | “|” ', 0, 'Guillemets isolés.', '']]],
    ['^(?:"|[\'‘’][\'‘’])[ \xa0\u202f]', False, '#474p', 'typo_commencement_guillemets', 4, [[None, '-', '«\xa0|“', 0, 'Guillemets ouvrants.', '']]],
    ['([ \xa0\u202f](?:"|[\'‘’][\'‘’]))(?:$|[.,;?!])', False, '#477p', 'typo_guillemets_fin', 4, [[None, '-', '\xa0»|”', 1, 'Guillemets fermants.', '']]],
    ['[ \xa0]”(?=\\w)', False, '#488p', 'typo_guillemets_fermants_inverses', 4, [[None, '-', ' “', 0, 'Mettez des guillemets ouvrants plutôt que fermants.', '']]],
    ['\\w([«“][ \xa0])', False, '#491p', 'typo_guillemets_ouvrants_inverses1', 4, [[None, '-', '\xa0»|”', 1, 'Mettez des guillemets fermants plutôt qu’ouvrants.', '']]],
    ['([«“])[ \xa0]*$', False, '#494p', 'typo_guillemets_ouvrants_inverses2', 4, [[None, '-', '\xa0»|”', 1, 'Mettez des guillemets fermants plutôt qu’ouvrants.', '']]],
    ['\\w([ \xa0][«“])[ \xa0]?[!?,:;.…](?![ \xa0]?[»”])', False, '#497p', 'typo_guillemets_ouvrants_inverses3', 4, [[None, '-', '\xa0»|”', 1, 'Mettez des guillemets fermants plutôt qu’ouvrants.', '']]],
  ]],
  ["", [
    ['(?i)\\w[\\w.-]*@\\w[\\w.-]*\\w[.]\\w\\w+', True, '#524p', 'p_email', 4, [[None, '~', '__MAIL__', 0]]],
    ['(?i)(?:ht|f)tps?://[\\w./?&!%=+*"\'@$#-]+', True, '#528p', 'p_URL', 4, [[None, '~', '__URL__', 0]]],
    ['(?i)((?:\\w[\\w-]*[.])*)(\\w[\\w-]+)([.](?:com|net|org|info|fr|ca|be|ch|i[ot]|co[.]uk|tk|jp|zh|ru|us|nl|xyz))(?![\\w–-])', True, '#530p', 'p_URL2', 4, [[None, '~', '*', 1], [None, '~', '=_p_p_URL2_2', 2], [None, '~', '*', 3]]],
    ['(?i)^\\d+[.][\\d.-]*', True, '#537p', 'p_chapitre', 4, [[None, '~', '*', 0]]],
    ['(?i)^\\d+(?:  +|\\t+)', True, '#541p', 'p_num_chapitre', 4, [[None, '~', '*', 0]]],
    ['(?<![\\w.,–-])[cC](?:f|hap|oll?)([.])', False, '#545p', 'p_chap_coll_cf', 4, [[None, '~', '*', 1]]],
    ['(?<![\\w.,–-])p[.] ?\\d+(?:-\\d+|)(?![\\w–-])', False, '#546p', 'p_page', 4, [[None, '~', '*', 0]]],
    ['(?<![\\w.,–-])pp[.] ?\\d+-\\d+(?![\\w–-])', False, '#547p', 'p_pages', 4, [[None, '~', '*', 0]]],
    ['(?i)(?<![\\w.,–-])figure (\\d+(?:[.:-]\\d+|))(?![\\w–-])', True, '#548p', 'p_figure', 4, [[None, '~', '*', 1]]],
    ['(?i)(?<![\\w.,–-])art(?:icle|[.]) (1(?:er|ᵉʳ)|\\d+(?:[.:-]\\w+|))(?![\\w–-])', True, '#549p', 'p_article', 4, [[None, '~', '*', 1]]],
    ['(?<![\\w.,–-])av[.]', False, '#550p', 'p_av', 4, [[None, '~', 'av', 0]]],
    ['(?<![\\w.,–-])vs[.]', False, '#553p', 'p_vs', 4, [[None, '-', 'vs ', 0, 'Pas de point après cette abréviation.', ''], [None, '~', 'vs', 0]]],
    ['(?i)(?<![\\w.,–-])(?:versions?|mises? [àa] jour) ([0-9]+(?:[.][0-9]+[a-z]?)*)(?![\\w–-])', True, '#559p', 'p_version_numéro', 4, [[None, '~', '*', 1]]],
    ['([A-Z][.][A-Z][.](?:[A-Z][.])*) +[A-ZÉÀÂÊÎÈÔ]', False, '#563p', 'p_sigle1', 4, [[None, '~', '=_p_p_sigle1_1', 1]]],
    ['(?<![\\w.,–-])[a-zA-Z][.][a-zA-Z][.](?:[a-zA-Z][.])*', False, '#565p', 'p_sigle2', 4, [['_c_p_sigle2_1', '>', ''], ['_c_p_sigle2_2', '-', '=_s_p_sigle2_2', 0, 'Sigle. Il est recommandé d’ôter les points pour les sigles. (S’il s’agit d’un prénom et d’un nom, mettez un espace.)', 'https://fr.wikipedia.org/wiki/Sigle#Typographie'], ['_c_p_sigle2_3', '-', '=_s_p_sigle2_3', 0, 'Sigle. Il est recommandé d’ôter les points pour les sigles.', 'https://fr.wikipedia.org/wiki/Sigle#Typographie'], ['_c_p_sigle2_4', '~', '=_p_p_sigle2_4', 0]]],
    ['(?<![\\w.,–-])J[.]-[A-Z][.]', False, '#572p', 'p_sigle3', 4, [[None, '~', '=_p_p_sigle3_1', 0]]],
    ["(?<![\\w.,–-])(M[.]) (?:[A-ZÉÈÎ]\\w*|l[ae'’])", False, '#576p', 'p_M_point', 4, [[None, '~', 'Mr', 1]]],
    ['(?<![\\w.,–-])MM[.]', False, '#578p', 'p_MM_point', 4, [[None, '~', 'MM ', 0]]],
    ['(?<![\\w.,–-])M(?:r|gr|me) [A-ZÉ]([.])(?=\\W+[a-zéèêâîïû])', False, '#580p', 'p_Mr_Mgr_Mme_point', 4, [[None, '~', '*', 1]]],
    ['(?<![\\w.,–-])([A-ZÉÈÂÎ][\\w-]+)[ \xa0][A-ZÉÈÂ]([.])[ \xa0]([A-ZÉÈÂ][\\w-]+)(?![\\w–-])', False, '#584p', 'p_prénom_lettre_point_patronyme', 4, [['_c_p_prénom_lettre_point_patronyme_1', '~', '*', 2]]],
    ['(?<![\\w.,–-])([A-ZÉÈÂÎ][\\w-]+)[ \xa0][A-ZÉÈÂ]([.])', False, '#587p', 'p_prénom_lettre_point', 4, [['_c_p_prénom_lettre_point_1', '~', '_', 2]]],
    ['(?<![\\w.,–-])[A-ZÉÈÂÎ][\\w-]+[-–—]L(?:es?|a) [A-ZÉÈÂÎ][\\w-]+(?![\\w–-])', False, '#592p', 'p_patronyme_composé_avec_le_la_les', 4, [[None, '~', '=_p_p_patronyme_composé_avec_le_la_les_1', 0]]],
    ['(?<![\\w.,–-])\\d+[.:]\\d+[.:]\\d+[.:]\\d+(?![\\w–-])', False, '#596p', 'p_adresse_IP', 4, [[None, '~', '*', 0]]],
    ['(?<![\\w.,–-])/(?:bin|boot|dev|etc|home|lib|mnt|opt|root|sbin|tmp|usr|var|Bureau|Documents|Images|Musique|Public|Téléchargements|Vidéos)(?:/[\\w.()]+)*', False, '#600p', 'p_arborescence_Linux_Mac', 4, [[None, '~', '*', 0]]],
    ['(?i)(?<![\\w.,–-])[a-z]:\\\\(?:Program Files(?: [(]x86[)]|)|[\\w.()]+)(?:\\\\[\\w.()]+)*', True, '#603p', 'p_arborescence_Windows', 4, [[None, '~', '*', 0]]],
    ['(?<![\\w.,–-])\\d+ (m) ', False, '#607p', 'p_chiffres_m', 4, [[None, '~', '_', 1]]],
  ]],
  ["apos", [
    ['(?i)(?<![\\w.,–-])([ldsncjmç]|jusqu|lorsqu|aujourd|presqu|quelqu|puisqu|qu|prud|entr)[\'ʼ‘‛´`′‵՚ꞌꞋ](?=[\\w"«<])', True, '#644p', 'apostrophe_typographique', 8, [[None, '-', '\\1’', 0, 'Apostrophe typographique.', '']]],
    ['(?i)(?<![\\w.,–-])t[\'ʼ‘‛´`′‵՚ꞌꞋ](?!ils?|elles?|on)(?=[\\w"«<])', True, '#646p', 'apostrophe_typographique_après_t', 8, [[None, '-', 't’', 0, 'Apostrophe typographique.', '']]],
  ]],
  ["typo", [
    ['(?i)(?<![\\w.,–-])(([ldsncjmtç]|lorsqu|puisqu|presqu|quoiqu|quelqu|jusqu|qu|aujourd|entr)(?:[\'’ʼ‘‛´`′‵՚ꞌꞋ][\'’ʼ‘‛´`′‵՚ꞌꞋ ]|”|“|"| [\'’ʼ‘‛´`′‵՚ꞌꞋ] ?))[aeéiouhœæyàîèêôû<]', True, '#655p', 'typo_apostrophe_incorrecte', 8, [['_c_typo_apostrophe_incorrecte_1', '-', '\\2’', 1, 'Apostrophe incorrecte.', '']]],
    ['(?i)(?<![\\w.,–-])((lorsqu|puisqu|presqu|quoiqu|jusqu|qu|aujourd|entr) )[aeéiouhyàîèêôû<]', True, '#666p', 'typo_apostrophe_manquante', 8, [[None, '-', '\\2’', 1, 'Il manque vraisemblablement une apostrophe.', ''], [None, '~', '\\2’', 1]]],
    ['(?i)(?<![\\w.,–-])ne ([mtsl] )[aeéiouhyàîèêôû<]', True, '#671p', 'typo_apostrophe_manquante_prudence1', 8, [[None, '-', '=_s_typo_apostrophe_manquante_prudence1_1', 1, 'Il manque une apostrophe.', '']]],
    ['(?i)(?<![\\w.,–-])(?:je|tu|ie?ls?|nous|vous|on|ça|elles?) ([nmtsl] )([aeéiouhyàîèêôû][\\w-]*|<)', True, '#674p', 'typo_apostrophe_manquante_prudence2', 8, [['_c_typo_apostrophe_manquante_prudence2_1', '-', '=_s_typo_apostrophe_manquante_prudence2_1', 1, 'Il manque probablement une apostrophe.', '']]],
    ['(?<![\\w.,–-])([ldsncjmtç] )[aeéiouhAEÉIOUHyîèêôûYÎÈÊÔÛ<]', False, '#678p', 'typo_apostrophe_manquante_audace1', 8, [['_c_typo_apostrophe_manquante_audace1_1', '-', '=_s_typo_apostrophe_manquante_audace1_1', 1, 'Il manque peut-être une apostrophe.', '']]],
    ['"(?=\\w)', False, '#702p', 'typo_guillemets_typographiques_doubles_ouvrants', 4, [['_c_typo_guillemets_typographiques_doubles_ouvrants_1', '-', '«\xa0|“', 0, 'Guillemets typographiques ouvrants.', '']]],
    ['[\\w.?!…,](")(?!\\w)', False, '#705p', 'typo_guillemets_typographiques_doubles_fermants', 4, [[None, '-', '\xa0»|”', 1, 'Guillemets typographiques fermants.', '']]],
    ["(?:^|[ –—-])(['’‘]['’‘])(?=\\w)", False, '#713p', 'typo_guillemets_typographiques_simples_doubles_ouvrants', 4, [[None, '-', '«\xa0|“', 1, 'Guillemets typographiques ouvrants.', '']]],
    ["[\\w.?!…,](['’]['’])(?![\\w'’])", False, '#716p', 'typo_guillemets_typographiques_simples_doubles_fermants', 4, [[None, '-', '\xa0»|”', 1, 'Guillemets typographiques fermants.', '']]],
    ["(?:^|[ –—-])(['’])(?=\\w)", False, '#726p', 'typo_guillemets_typographiques_simples_ouvrants', 4, [[None, '-', '“|‘|‹', 1, 'Guillemets typographiques ouvrants.', '']]],
    ["[\\w.?!](')(?:[ \xa0\u202f]|$)", False, '#729p', 'typo_guillemets_typographiques_simples_fermants', 4, [[None, '-', '”|’|›', 1, 'Guillemets typographiques fermants.', '']]],
  ]],
  ["html", [
    ['(?i)<\\w+.*?>', True, '#748p', 'p_html_balise_ouvrante', 4, [[None, '~', '*', 0]]],
    ['(?i)</\\w+ *>', True, '#749p', 'p_html_balise_fermante', 4, [[None, '~', '*', 0]]],
    ['(?i)&amp;[a-zA-Z]+;', True, '#750p', 'p_html_amp_xxx', 4, [[None, '~', '_', 0]]],
    ['(?i)&lt;', True, '#751p', 'p_html_lt', 4, [[None, '~', '   <', 0]]],
    ['(?i)&gt;', True, '#752p', 'p_html_gt', 4, [[None, '~', '>', 0]]],
    ['(?i)&amp;', True, '#753p', 'p_html_amp', 4, [[None, '~', '&', 0]]],
    ['(?i)&nbsp;', True, '#754p', 'p_html_nbsp', 4, [[None, '~', '@', 0]]],
    ['(?i)&#(?:160|8239);', True, '#755p', 'p_html_nbsp2', 4, [[None, '~', '@', 0]]],
    ['(?i)\\[(?:[buiqa]|blockquote|quote)\\]', True, '#756p', 'p_html_pseudo_balise1', 4, [[None, '~', '*', 0]]],
    ['(?i)\\[/\\w+\\]', True, '#757p', 'p_html_pseudo_balise2', 4, [[None, '~', '*', 0]]],
  ]],
  ["latex", [
    ['(?i)\\\\[a-z]+(?![\\w–-])', True, '#765p', 'p_latex1', 4, [[None, '~', '*', 0]]],
    ['(?i)\\\\[,;/\\\\]', True, '#766p', 'p_latex2', 4, [[None, '~', '*', 0]]],
    ['\\{(?:abstract|align|cases|center|description|enumerate|equation|figure|flush(?:left|right)|gather|minipage|multline|quot(?:ation|e)|SaveVerbatim|table|tabular|thebibliography|[vV]erbatim|verse|wrapfigure)\\}', False, '#767p', 'p_latex3', 4, [[None, '~', '*', 0]]],
  ]],
  ["md", [
    ['(?:[ \u202f\xa0]|^)([*_]+)\\w', False, '#770p', 'p_md_span_ouvrant', 4, [[None, '~', '*', 1]]],
    ['(?i)[a-z0-9àéîïôûüù]([*_]+)(?:[,.;:!?) \u202f\xa0]|$)', True, '#771p', 'p_md_span_fermant', 4, [[None, '~', '*', 1]]],
    ['^#+', False, '#772p', 'p_md_titre_début', 4, [[None, '~', '*', 0]]],
    ['#+ *$', False, '#773p', 'p_md_titre_fin', 4, [[None, '~', '*', 0]]],
    ['^ *[*+] ', False, '#774p', 'p_md_liste', 4, [[None, '~', '*', 0]]],
    ['^>[ >]+ ', False, '#775p', 'p_md_citation', 4, [[None, '~', '*', 0]]],
  ]],
  ["", [
    ['(?i)(?<![\\w.,–-])tous?[.(/·•⋅–—-]te[.)/·•⋅–—-]?s(?![\\w–-])', True, '#793p', 'eepi_écriture_épicène_tous_toutes', 4, [['_c_eepi_écriture_épicène_tous_toutes_1', '-', 'tous et toutes|toutes et tous', 0, 'Écriture épicène dystypographique et imprononçable. À des fins de lisibilité, il est préférable d’éviter l’abus de graphies épicènes trop complexes.', ''], [None, '~', '=_p_eepi_écriture_épicène_tous_toutes_2', 0]]],
    ['(?i)(?<![\\w.,–-])c[./·•⋅–—-]?eux?[./·•⋅–—-]elles(?![\\w–-])', True, '#803p', 'eepi_écriture_épicène_ceux_celles', 4, [['_c_eepi_écriture_épicène_ceux_celles_1', '-', 'ceux et celles|celles et ceux', 0, 'Écriture épicène dystypographique et imprononçable. À des fins de lisibilité, il est préférable d’éviter l’abus de graphies épicènes trop complexes.', ''], [None, '~', '=_p_eepi_écriture_épicène_ceux_celles_2', 0]]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]+)eurs?[.(/·•⋅–—-][tdp]?(rice|euse|se|[oe]resse)[.)/·•⋅–—-]?s(?![\\w–-])', True, '#813p', 'eepi_écriture_épicène_pluriel_eur_divers', 4, [['_c_eepi_écriture_épicène_pluriel_eur_divers_1', '-', '\\1eurs et \\1\\2s|\\1\\2s et \\1eurs', 0, 'Écriture épicène dystypographique et imprononçable. À des fins de lisibilité, il est préférable d’éviter l’abus de graphies épicènes trop complexes.', ''], ['_c_eepi_écriture_épicène_pluriel_eur_divers_2', '-', '\\1eurs et \\1euses|\\1euses et \\1eurs', 0, 'Écriture épicène dystypographique et imprononçable. À des fins de lisibilité, il est préférable d’éviter l’abus de graphies épicènes trop complexes.', ''], [None, '~', '=_p_eepi_écriture_épicène_pluriel_eur_divers_3', 0]]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]+)eux[.(/·•⋅–—-](?:[tdsi]?euse|se)[.)/·•⋅–—-]?s(?![\\w–-])', True, '#825p', 'eepi_écriture_épicène_pluriel_eux_euses', 4, [['_c_eepi_écriture_épicène_pluriel_eux_euses_1', '-', '\\1eux et \\1euses|\\1euses et \\1eux', 0, 'Écriture épicène dystypographique et imprononçable. À des fins de lisibilité, il est préférable d’éviter l’abus de graphies épicènes trop complexes.', ''], [None, '~', '=_p_eepi_écriture_épicène_pluriel_eux_euses_2', 0]]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]+)ifs?[.(/·•⋅–—-][std]?i?ve[.)/·•⋅–—-]?s(?![\\w–-])', True, '#834p', 'eepi_écriture_épicène_pluriel_if_ive', 4, [['_c_eepi_écriture_épicène_pluriel_if_ive_1', '-', '\\1ifs et \\1ives|\\1ives et \\1ifs', 0, 'Écriture épicène dystypographique et imprononçable. À des fins de lisibilité, il est préférable d’éviter l’abus de graphies épicènes trop complexes.', ''], [None, '~', '=_p_eepi_écriture_épicène_pluriel_if_ive_2', 0]]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]+)[eè]rs?[.(/·•⋅–—-](?:i?è?re|e)[.)/·•⋅–—-]?s(?![\\w–-])', True, '#844p', 'eepi_écriture_épicène_pluriel_er_ère', 4, [['_c_eepi_écriture_épicène_pluriel_er_ère_1', '-', '\\1er·e·s|\\1ers et \\1ères|\\1ères et \\1ers', 0, 'Écriture épicène dystypographique et imprononçable. À des fins de lisibilité, il est préférable d’éviter l’abus de graphies épicènes trop complexes.', ''], [None, '~', '=_p_eepi_écriture_épicène_pluriel_er_ère_2', 0]]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]+)aux[.(/·•⋅–—-][tnmcpbd]?a?le[.)/·•⋅–—-]?s(?![\\w–-])', True, '#856p', 'eepi_écriture_épicène_pluriel_aux_ales', 4, [['_c_eepi_écriture_épicène_pluriel_aux_ales_1', '-', '\\1al·e·s|\\1aux et \\1ales|\\1ales et \\1aux', 0, 'Écriture épicène dystypographique et imprononçable. Pour ce cas, il peut être intéressant de faire comme si le pluriel masculin était régulier, ce qui rend l’ensemble prononçable…', ''], [None, '~', '=_p_eepi_écriture_épicène_pluriel_aux_ales_2', 0]]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]*[éuitsnldf])[-·–—.•⋅(/]([ntlf]?e)[-·–—.•⋅)/]?s(?![\\w–-])', True, '#867p', 'eepi_écriture_épicène_pluriel_e', 4, [['_c_eepi_écriture_épicène_pluriel_e_1', '>', ''], [None, '~', '=_p_eepi_écriture_épicène_pluriel_e_2', 0], ['_c_eepi_écriture_épicène_pluriel_e_3', '>', ''], ['_c_eepi_écriture_épicène_pluriel_e_4', '-', '\\1·\\2·s|\\1 et \\1\\2s|\\1\\2s et \\1', 0, 'Écriture épicène. Utilisez les points médians ou écrivez en toutes lettres.', ''], ['_c_eepi_écriture_épicène_pluriel_e_5', '-', '\\1·\\2·s|\\1s et \\1\\2s|\\1\\2s et \\1s', 0, 'Écriture épicène. Utilisez les points médians ou écrivez en toutes lettres.', '']]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]*[éuitsrnldf])([-·–—.•⋅/][ntl]?e|[(][ntl]?e[)])(?![\\w–-])', True, '#897p', 'eepi_écriture_épicène_singulier', 4, [['_c_eepi_écriture_épicène_singulier_1', '>', ''], [None, '~', '=_p_eepi_écriture_épicène_singulier_2', 0], ['_c_eepi_écriture_épicène_singulier_3', '-', 'un·e|un ou une|une ou un', 0, 'Écriture épicène. Utilisez les points médians ou écrivez en toutes lettres.', ''], ['_c_eepi_écriture_épicène_singulier_4', '-', '=_s_eepi_écriture_épicène_singulier_4', 0, 'Écriture épicène. Utilisez un point médian.', '']]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]+\\w)([-·–—.•⋅/]s|[(]s[)])(?![\\w–-])', True, '#917p', 'typo_écriture_invariable', 4, [['_c_typo_écriture_invariable_1', '~', '=_p_typo_écriture_invariable_1', 0], ['_c_typo_écriture_invariable_2', '-', '\\1·s', 0, 'Écriture invariable. Utilisez un point médian.', '']]],
  ]],
  ["maj", [
    ['(?<![\\w.,–-])(\\w[\\w-]+)[.] ([a-zàâéèêîôç]\\w*)(?![\\w–-])', False, '#934p', 'majuscule_après_point', 4, [['_c_majuscule_après_point_1', '-', '=_s_majuscule_après_point_1', 2, 'Après un point, une majuscule est généralement requise.', '']]],
    ["^ *([a-zàâéèêîôç](?:[\\w-]+[’'`‘]?|[’'`‘]))", False, '#943p', 'majuscule_début_paragraphe', 4, [['_c_majuscule_début_paragraphe_1', '-', '=_s_majuscule_début_paragraphe_1', 1, 'Majuscule en début de phrase, sauf éventuellement lors d’une énumération.', '']]],
  ]],
  ["poncfin", [
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]*) *$', True, '#959p', 'poncfin_règle1', 4, [['_c_poncfin_règle1_1', '-', '\\1.|\\1\xa0!|\\1\xa0?', 1, 'Il semble manquer une ponctuation finale (s’il s’agit d’un titre, le point final n’est pas requis).', '']]],
  ]],
  ["typo", [
    ['(\\w+)[,:](\\w[\\w-]*)', False, '#977p', 'typo_espace_manquant_après1', 4, [['_c_typo_espace_manquant_après1_1', '-', ' \\2', 2, 'Il manque un espace.', '']]],
    ['[?!;%‰‱˚»}](\\w[\\w-]*|[({[])', False, '#979p', 'typo_espace_manquant_après2', 4, [[None, '-', ' \\1', 1, 'Il manque un espace.', '']]],
    ['(?<![\\w.,–-])\\w[\\w-]*[.](\\w[\\w-]*|[({[])', False, '#981p', 'typo_espace_manquant_après3', 4, [['_c_typo_espace_manquant_après3_1', '-', ' \\1', 1, 'Il manque un espace.', '']]],
    ['(?<![\\w.,–-])\\w[\\w-]+[…](\\w[\\w-]*|[({[])', False, '#984p', 'typo_espace_manquant_après4', 4, [['_c_typo_espace_manquant_après4_1', '-', ' \\1', 1, 'Il manque un espace.', '']]],
    ['(?i)(?<![\\w.,–-])etc(?:[.]{3,5}|…)', True, '#1018p', 'typo_et_cetera', 4, [[None, '-', 'etc.', 0, 'Un seul point après «\xa0etc.\xa0»', '']]],
    ['(?<![\\w.,–-])(M(?:me|gr|lle)s?[.]) [A-ZÉÈ]', False, '#1024p', 'typo_point_après_titre', 4, [[None, '-', '=_s_typo_point_après_titre_1', 1, 'Pas de point après cette abréviation.', '']]],
    ['(?<![\\w.,–-])([nN]os?[.])[ \xa0]\\d+', False, '#1030p', 'typo_point_après_numéro', 4, [['_c_typo_point_après_numéro_1', '-', 'nᵒˢ', 1, 'Pas de point dans l’abréviation de numéro.', ''], ['_c_typo_point_après_numéro_2', '-', 'nᵒ', 1, 'Pas de point dans l’abréviation de numéro.', '']]],
    ['(?<![.])[.]{3,5}(?![.])', False, '#1039p', 'typo_points_suspension1', 4, [['_c_typo_points_suspension1_1', '-', '…', 0, 'Typographie\xa0: points de suspension. Utilisez le caractère dédié.', '']]],
    ['[.]{6,}', False, '#1040p', 'typo_points_suspension2', 4, [[None, '-', '=_s_typo_points_suspension2_1', 0, 'Typographie\xa0: succession de points. Utilisez le caractère dédié.', '']]],
    ['(?<![.…])[.][.](?![.])', False, '#1041p', 'typo_points_suspension3', 4, [[None, '-', '…|.', 0, 'Typographie\xa0: un ou trois points\xa0?', '']]],
    ['…[.][.]?(?![.])', False, '#1042p', 'typo_points_superflus', 4, [[None, '-', '…', 0, 'Points superflus.', '']]],
    [',[.,]{2,}', False, '#1062p', 'typo_virgules_points', 4, [[None, '-', '=_s_typo_virgules_points_1', 0, 'Erreur de numérisation\xa0? Virgules au lieu de points\xa0?', '']]],
    [', ?([.,;:!?])', False, '#1069p', 'typo_ponctuation_superflue1', 4, [[None, '-', '=_s_typo_ponctuation_superflue1_1', 0, 'Une de ces ponctuations est superflue.', '']]],
    ['; ?([.,;:…!?])', False, '#1070p', 'typo_ponctuation_superflue2', 4, [[None, '-', '=_s_typo_ponctuation_superflue2_1', 0, 'Une de ces ponctuations est superflue.', '']]],
    [':[.,;:…!?]', False, '#1071p', 'typo_ponctuation_superflue3', 4, [[None, '-', '=_s_typo_ponctuation_superflue3_1', 0, 'Une de ces ponctuations est superflue.', '']]],
    ['[?!][.](?![.])', False, '#1072p', 'typo_ponctuation_superflue4', 4, [[None, '-', '=_s_typo_ponctuation_superflue4_1', 0, 'Ne mettez pas un point après un point d’interrogation ou d’exclamation.', '']]],
  ]],
  ["nbsp", [
    ['\\b[?!;]', False, '#1087p', 'nbsp_ajout_avant_double_ponctuation', 4, [['_c_nbsp_ajout_avant_double_ponctuation_1', '-', '=_s_nbsp_ajout_avant_double_ponctuation_1', 0, 'Il manque un espace insécable.', '']]],
    [' ([?!;])', False, '#1089p', 'nbsp_avant_double_ponctuation', 4, [[None, '-', '\xa0\\1', 0, 'Il manque un espace insécable.', '']]],
    ['(?: |\\b):(?= |$)', False, '#1091p', 'nbsp_avant_deux_points', 4, [[None, '-', '\xa0:', 0, 'Il manque un espace insécable.', '']]],
    ['«(?: |\\b)', False, '#1093p', 'nbsp_après_chevrons_ouvrants', 4, [[None, '-', '«\xa0', 0, 'Il manque un espace insécable.', '']]],
    ['^»(?: |\\b)', False, '#1095p', 'nbsp_après_chevrons_fermants', 4, [[None, '-', '»\xa0|«\xa0', 0, 'Il manque un espace insécable. Le sens de ce guillemet n’est justifié que si ce paragraphe continue le discours du paragraphe précédent.', '']]],
    ['(?: |\\b)»', False, '#1097p', 'nbsp_avant_chevrons_fermants1', 4, [[None, '-', '\xa0»', 0, 'Il manque un espace insécable.', '']]],
    ['([].!?)])»', False, '#1099p', 'nbsp_avant_chevrons_fermants2', 4, [[None, '-', '\\1\xa0»', 0, 'Il manque un espace insécable.', '']]],
    ['([:;!?])\xa0(?=[\\w«“"])', False, '#1101p', 'nbsp_après_double_ponctuation', 4, [[None, '-', '\\1 ', 0, 'Pas d’espace insécable après le signe “\\1”.', '']]],
  ]],
  ["unit", [
    ["(?<![\\w.,–-])((\\d+(?:,\\d+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹]|)) ?)([kcmµn]?(?:[slgJKVΩ]|m[²³]?|Wh?|Hz|dB)|[%‰€$£¥Åℓhj]|min|jours?|semaines|mois|ans?|euros?|heures?|px|MHz|°C|℃)(?![’'])(?![\\w–-])", False, '#1117p', 'unit_nbsp_avant_unités1', 4, [['_c_unit_nbsp_avant_unités1_1', '-', '=_s_unit_nbsp_avant_unités1_1', 0, 'Avec une unité de mesure, mettez un espace insécable.', ''], ['_c_unit_nbsp_avant_unités1_2', '-', '\\2\xa0\\3', 0, 'Avec une unité de mesure, mettez un espace insécable.', '']]],
    ['(?<![\\w.,–-])((\\d+(?:,\\d+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹])) ?)([a-zA-Zµ][a-zA-Z0-9Ωℓ⁰¹²³⁴⁵⁶⁷⁸⁹/·]*)(?![\\w–-])', False, '#1122p', 'unit_nbsp_avant_unités2', 4, [['_c_unit_nbsp_avant_unités2_1', '>', ''], ['_c_unit_nbsp_avant_unités2_2', '-', '=_s_unit_nbsp_avant_unités2_2', 0, 'Si ‹\\3› est une unité de mesure, il manque un espace insécable. Si le nombre se rapporte au mot suivant, c’est aussi valable.', ''], ['_c_unit_nbsp_avant_unités2_3', '-', '\\2\xa0\\3', 0, 'Si ‹\\3› est une unité de mesure, il manque un espace insécable. Si le nombre se rapporte au mot suivant, c’est aussi valable.', '']]],
    ["(?<![\\w.,–-])((\\d+) )([a-zA-Zµ][a-zA-Z0-9Ωℓ⁰¹²³⁴⁵⁶⁷⁸⁹/·]*)(?![’'])(?![\\w–-])", False, '#1128p', 'unit_nbsp_avant_unités3', 4, [['_c_unit_nbsp_avant_unités3_1', '>', ''], ['_c_unit_nbsp_avant_unités3_2', '-', '=_s_unit_nbsp_avant_unités3_2', 0, 'Si ‹\\3› est une unité de mesure, il manque un espace insécable. Si le nombre se rapporte au mot suivant, c’est aussi valable.', ''], ['_c_unit_nbsp_avant_unités3_3', '-', '\\2\xa0\\3', 0, 'Si ‹\\3› est une unité de mesure, il manque un espace insécable. Si le nombre se rapporte au mot suivant, c’est aussi valable.', '']]],
  ]],
  ["typo", [
    ["(?<![\\w.,–-])(?:cos|sin|tan|cotan|log|ln)²? [2-9]?[a-zA-Zα-ωΑ-Ω](?![’'])(?![\\w–-])", False, '#1159p', 'typo_math', 4, [[None, '-', '=_s_typo_math_1', 0, 'Mettez des parenthèses (ou éventuellement un espace insécable).', '']]],
    ['^[-_][ \xa0]', False, '#1175p', 'typo_tiret_début_ligne', 4, [[None, '-', '—\xa0|–\xa0', 0, 'Dialogues et énumérations\xa0: un tiret cadratin [1] ou demi-cadratin [2], suivi d’un espace insécable, est requis.', '']]],
    ['^ *«[ \xa0](-[ \xa0])', False, '#1176p', 'typo_tiret_dans_dialogue', 4, [[None, '-', '—\xa0|–\xa0', 1, 'Dialogues\xa0: un tiret cadratin [1] ou demi-cadratin [2], suivi d’un espace insécable, est requis. (Attention\xa0: à moins qu’il s’agisse d’un dialogue inclus dans un autre dialogue, cette manière d’écrire est erronée.)', '']]],
  ]],
  ["nbsp", [
    ['^([—–]) +', False, '#1178p', 'nbsp_après_tiret1', 4, [[None, '-', '\\1\xa0', 0, 'Dialogues et énumérations\xa0: ce tiret doit être suivi d’un espace insécable.', '']]],
    ['^([—–-])\\d', False, '#1179p', 'nbsp_après_tiret2', 4, [[None, '-', '—\xa0|–\xa0|−', 1, 'Dialogues et énumérations\xa0: il faut tiret cadratin [1] ou demi-cadratin [2] suivi d’un espace insécable. S’il s’agit de représenter un nombre négatif, utilisez le signe “moins” [3].', '']]],
    ['^([—–-])[\\w«“‘]', False, '#1180p', 'nbsp_après_tiret3', 4, [[None, '-', '—\xa0|–\xa0', 1, 'Dialogues et énumérations\xa0: il faut tiret cadratin [1] ou demi-cadratin [2] suivi d’un espace insécable.', '']]],
  ]],
  ["typo", [
    [' - (?=[0-9])', False, '#1181p', 'typo_tiret_incise1', 4, [[None, '-', ' – | — | − | −', 0, 'Tiret d’incise\xa0: un tiret demi-cadratin [1] ou cadratin [2] est requis. (Ou éventuellement le signe “moins” s’il s’agit d’une soustraction [3] ou de représenter un nombre négatif [4].)', '']]],
    [' - (?![0-9])', False, '#1182p', 'typo_tiret_incise2', 4, [[None, '-', ' – | — | − ', 0, 'Tiret d’incise\xa0: un tiret demi-cadratin [1] ou cadratin [2] est requis. (Ou éventuellement le signe “moins” [3], s’il s’agit d’une soustraction.)', '']]],
    ['-(\\d+)(?![\\w–-])', False, '#1201p', 'typo_signe_moins', 4, [['_c_typo_signe_moins_1', '-', '−\\1|– \\1|— \\1', 0, 'S’il s’agit de représenter un nombre négatif, utilisez le signe typographique “moins” [1]. S’il s’agit d’une incise, utilisez un tiret demi-cadratin [2] ou un tiret cadratin [3].', '']]],
    ['(\\d+) ?[x*] ?(\\d+)', False, '#1208p', 'typo_signe_multiplication', 4, [['_c_typo_signe_multiplication_1', '-', '\\1\xa0×\xa0\\2', 0, 'Signe de multiplication typographique.', '']]],
    ['[\\w \xa0](<=)[\\w \xa0]', False, '#1217p', 'typo_inférieur_ou_égal', 4, [[None, '-', '≤|⩽', 1, 'Signe “inférieur ou égal”.', '']]],
    ['[\\w \xa0](>=)[\\w \xa0]', False, '#1218p', 'typo_supérieur_ou_égal', 4, [[None, '-', '≥|⩾', 1, 'Signe “supérieur ou égal”.', '']]],
  ]],
  ["liga", [
    ['[ﬁﬂﬀﬃﬄﬅﬆ]', False, '#1225p', 'ligatures_typographiques', 4, [[None, '-', '=_s_ligatures_typographiques_1', 0, 'Suppression de la ligature typographique.', '']]],
  ]],
  ["nf", [
    ['(?<![\\w.,–-])[nN][fF][ \xa0-]?(?:c|C|e|E|p|P|q|Q|s|S|x|X|z|Z|[eE][nN](?:[ \xa0-][iI][sS][oO]|))[ \xa0-]?[0-9]+(?:[/ ‑-][0-9]+|)(?![\\w–-])', False, '#1241p', 'nf_norme_française', 4, [['_c_nf_norme_française_1', '-', '=_s_nf_norme_française_1', 0, 'Norme française. Utilisez les espaces et tirets insécables.', 'http://fr.wikipedia.org/wiki/Liste_de_normes_NF']]],
  ]],
  ["typo", [
    ['(«[\xa0\u202f])[^»“]+?(”)', False, '#1256p', 'typo_cohérence_guillemets_chevrons_ouvrants', 4, [['_c_typo_cohérence_guillemets_chevrons_ouvrants_1', '-', '“', 1, 'Guillemet ouvrant différent du guillemet fermant (”).', ''], ['_c_typo_cohérence_guillemets_chevrons_ouvrants_2', '-', '\xa0»', 2, 'Guillemet fermant différent du guillemet ouvrant («).', '']]],
    ['(“)[^”«]+?([\xa0\u202f]»)', False, '#1260p', 'typo_cohérence_guillemets_chevrons_fermants', 4, [['_c_typo_cohérence_guillemets_chevrons_fermants_1', '-', '«\xa0', 1, 'Guillemet ouvrant différent du guillemet fermant (»).', ''], ['_c_typo_cohérence_guillemets_chevrons_fermants_2', '-', '”', 2, 'Guillemet fermant différent du guillemet ouvrant (“).', '']]],
    ["(“)[^”’“«]+?(’)(?![\\w'’)])", False, '#1269p', 'typo_cohérence_guillemets_doubles_ouvrants', 4, [['_c_typo_cohérence_guillemets_doubles_ouvrants_1', '>', ''], ['_c_typo_cohérence_guillemets_doubles_ouvrants_2', '-', '‘', 1, 'Guillemet ouvrant différent du guillemet fermant (’).', ''], ['_c_typo_cohérence_guillemets_doubles_ouvrants_3', '-', '”', 2, 'Guillemet fermant différent du guillemet ouvrant (“).', '']]],
    ['(‘)[^’“«]+?(”)', False, '#1274p', 'typo_cohérence_guillemets_doubles_fermants', 4, [['_c_typo_cohérence_guillemets_doubles_fermants_1', '-', '“', 1, 'Guillemet ouvrant différent du guillemet fermant (”).', ''], ['_c_typo_cohérence_guillemets_doubles_fermants_2', '-', '’', 2, 'Guillemet fermant différent du guillemet ouvrant (‘).', '']]],
    ['(?i)(?<![\\w.,–-])(“)\\w[^”"»]+$', True, '#1285p', 'typo_guillemets_doubles_ouvrants_non_fermés', 4, [[None, '-', '_', 1, 'Guillemets fermants introuvables dans la suite du paragraphe.', '']]],
    ['(?i)^[^“„«"]+\\w(”)(?![\\w–-])', True, '#1288p', 'typo_guillemets_doubles_fermants_non_ouverts', 4, [[None, '-', '_', 1, 'Guillemets ouvrants introuvables dans ce paragraphe.', '']]],
    ["(?i)(?<![\\w.,–-])(‘)\\w\\w[^’']+$", True, '#1296p', 'typo_guillemet_simple_ouvrant_non_fermé', 4, [['_c_typo_guillemet_simple_ouvrant_non_fermé_1', '-', '_', 1, 'Guillemet fermant introuvable dans la suite du paragraphe.', '']]],
    ["(?i)^[^‘']+\\w\\w(’)(?![\\w–-])", True, '#1299p', 'typo_guillemet_simple_fermant_non_ouvert', 4, [['_c_typo_guillemet_simple_fermant_non_ouvert_1', '-', '_', 1, 'Guillemet ouvrant introuvable dans ce paragraphe.', '']]],
  ]],
  ["num", [
    ['(?<![\\w.,–-])\\d\\d\\d\\d+(?![\\w–-])', False, '#1317p', 'num_grand_nombre_soudé', 4, [['_c_num_grand_nombre_soudé_1', '>', ''], ['_c_num_grand_nombre_soudé_2', '-', '=_s_num_grand_nombre_soudé_2', 0, 'Formatage des grands nombres.', ''], ['_c_num_grand_nombre_soudé_3', '-', '=_s_num_grand_nombre_soudé_3', 0, 'Formatage des grands nombres.', '']]],
    ["(?<![\\w.,–-])(?<!,)(\\d\\d\\d\\d)[\xa0\u202f]([a-zA-Zµ][a-zA-Z0-9Ωℓ⁰¹²³⁴⁵⁶⁷⁸⁹/·]*)(?![’'])(?![\\w–-])", False, '#1325p', 'num_nombre_quatre_chiffres', 4, [['_c_num_nombre_quatre_chiffres_1', '-', '=_s_num_nombre_quatre_chiffres_1', 1, 'Formatage des grands nombres.', '']]],
  ]],
  ["", [
    ['(?<![\\w.,–-])\\d\\d?\\d?(?:[.]\\d\\d\\d)+(?![0-9])', False, '#1352p', 'num_grand_nombre_avec_points', 4, [['_c_num_grand_nombre_avec_points_1', '-', '=_s_num_grand_nombre_avec_points_1', 0, 'Grands nombres\xa0: utilisez des espaces insécables plutôt que des points.', ''], [None, '~', '=_p_num_grand_nombre_avec_points_2', 0]]],
    ['(?<![\\w.,–-])\\d\\d?\\d?(?: \\d\\d\\d)+(?![\\w–-])', False, '#1360p', 'num_grand_nombre_avec_espaces', 4, [['_c_num_grand_nombre_avec_espaces_1', '-', '=_s_num_grand_nombre_avec_espaces_1', 0, 'Grands nombres\xa0: utilisez des espaces insécables.', ''], [None, '~', '=_p_num_grand_nombre_avec_espaces_2', 0]]],
  ]],
  ["date", [
    ['(?i)(?<![\\w.,–-])(?<!\\d[ ./-])(\\d\\d?)([ ./-])(\\d\\d?)([ ./-])(\\d\\d\\d+)(?![ ./-]\\d)(?![\\w–-])', True, '#1373p', 'date_nombres', 4, [['_c_date_nombres_1', '-', '_', 0, 'Cette date est invalide.', ''], [None, '~', '\\1-\\3-\\5', 0]]],
  ]],
  ["redon1", [
    ['(?i)(?<![\\w.,–-])(\\w[\\w-][\\w-]+\\w)[ \xa0,.;!?:].*[ \xa0](\\1)(?![\\w–-])', True, '#1392p', 'redondances_paragraphe', 4, [['_c_redondances_paragraphe_1', '-', '_', 2, 'Dans ce paragraphe, répétition de «\xa0\\1\xa0» (à gauche).', ''], ['_c_redondances_paragraphe_2', '-', '_', 1, 'Dans ce paragraphe, répétition de «\xa0\\1\xa0» (à droite).', '']]],
  ]],
  ["ocr", [
    ['[ \xa0]7(?![\\w–-])', False, '#1410p', 'ocr_point_interrogation', 3, [['_c_ocr_point_interrogation_1', '-', '\xa0?', 0, 'Erreur de numérisation\xa0?', '']]],
    ["[ \xa0]I(?![ ’'][aâeéèêëiîïoôuy])(?![\\w–-])", False, '#1419p', 'ocr_exclamation1', 3, [[None, '-', '\xa0!', 0, 'Erreur de numérisation\xa0?', '']]],
    ['[ \xa0]1(?= [A-ZÉÈÂÎ])(?![\\w–-])', False, '#1422p', 'ocr_exclamation2', 3, [['_c_ocr_exclamation2_1', '-', '\xa0!', 0, 'Erreur de numérisation\xa0?', '']]],
    ['(?i)(?<![\\w.,–-])[\\dOI][\\dOI]+(?![\\w–-])', True, '#1433p', 'ocr_nombres', 3, [['_c_ocr_nombres_1', '-', '11|Il', 0, 'Erreur de numérisation\xa0?', ''], ['_c_ocr_nombres_2', '-', '=_s_ocr_nombres_2', 0, 'Erreur de numérisation\xa0?', '']]],
    ['(?<![\\w.,–-])\\w\\w+-(On|Ils?|Elles?|Tu|Je|Nous|Vous|Mêmes?|Ci|Là|Une?s|Les?|La|Leur)(?![\\w–-])', False, '#1443p', 'ocr_casse_pronom_vconj', 3, [[None, '-', '=_s_ocr_casse_pronom_vconj_1', 1, 'Erreur de numérisation\xa0? Casse douteuse.', '']]],
    ['(?<![\\w.,–-])\\w+-\\w+(?![\\w–-])', False, '#1453p', 'mots_composés_inconnus', 3, [['_c_mots_composés_inconnus_1', '-', '_', 0, 'Erreur de numérisation\xa0? Mot composé inconnu du dictionnaire.', '']]],
    ['(?i)(?<![\\w.,–-])(\\w+)‑(\\w+)(?![\\w–-])', True, '#1467p', 'tu_trait_union_conditionnel', 3, [[None, '-', '\\1\\2|\\1-\\2', 0, 'Trait d’union conditionnel. Erreur de numérisation\xa0?', '']]],
    ['\\w*[{}<>&*#£^|]+\\w*', False, '#1475p', 'ocr_caractères_rares', 3, [['_c_ocr_caractères_rares_1', '-', '_', 0, 'Erreur de numérisation\xa0? Cette chaîne contient un caractère de fréquence rare.', '']]],
    ['[\\]\\[({}][\\]\\[({}]+', False, '#1485p', 'ocr_doublons_caractères_rares', 3, [[None, '-', '_', 0, 'Erreur de numérisation\xa0? Succession\xa0douteuse de caractères.', '']]],
    ['(?i)(?<![\\w.,–-])[1[\\]][easrnxiocuwàéè](?![\\w–-])', True, '#1494p', 'ocr_le_la_les_regex', 3, [['_c_ocr_le_la_les_regex_1', '-', 'le', 0, 'Erreur de numérisation\xa0?', ''], ['_c_ocr_le_la_les_regex_2', '-', 'la', 0, 'Erreur de numérisation\xa0?', ''], ['_c_ocr_le_la_les_regex_3', '-', 'la|là', 0, 'Erreur de numérisation\xa0?', ''], ['_c_ocr_le_la_les_regex_4', '-', 'le|la', 0, 'Erreur de numérisation\xa0?', '']]],
  ]],
  ["conf", [
    ['(?i)(?<![\\w.,–-])[1[\\]][ea]s?(?![\\w–-])', True, '#1508p', 'conf_1e_1a_1es', 5, [['_c_conf_1e_1a_1es_1', '-', 'le', 0, 'Erreur de frappe\xa0?', ''], ['_c_conf_1e_1a_1es_2', '-', 'la', 0, 'Erreur de frappe\xa0?', ''], ['_c_conf_1e_1a_1es_3', '-', 'les', 0, 'Erreur de frappe\xa0?', '']]],
  ]],
  ["ocr", [
    ['(?i)(?<![\\w.,–-])[1[\\]][ea]s(?![\\w–-])', True, '#1520p', 'ocr_les', 3, [[None, '-', 'les', 0, 'Erreur de numérisation\xa0?', '']]],
    ["(?i)(?<![\\w.,–-])([1[][’'`‘])[aâeéèêëiîïoôuyh][\\w-]*(?![\\w–-])", True, '#1528p', 'ocr_l_regex', 3, [[None, '-', 'l’|L’|j’|J’', 1, 'Erreur de numérisation\xa0?', '']]],
    ['(?i)(?<![\\w.,–-])1fs?(?![\\w–-])', True, '#1536p', 'ocr_il_regex', 3, [['_c_ocr_il_regex_1', '-', 'Ils|ils|ifs', 0, 'Erreur de numérisation\xa0?', ''], ['_c_ocr_il_regex_2', '-', 'Il|il|if', 0, 'Erreur de numérisation\xa0?', '']]],
  ]],
  ["", [
    ['(?i)(?<![\\w.,–-])\\w+‑\\w+‑\\w+(?![\\w–-])', True, '#1553p', 'p_trait_union_conditionnel1', 4, [[None, '~', '=_p_p_trait_union_conditionnel1_1', 0]]],
    ['(?i)(?<![\\w.,–-])\\w+‑\\w+(?![\\w–-])', True, '#1554p', 'p_trait_union_conditionnel2', 4, [[None, '~', '=_p_p_trait_union_conditionnel2_1', 0]]],
    ['([?!…][?!… \xa0]*)[ "\'”»\xa0]*,', False, '#1557p', 'p_fin_dialogue', 4, [[None, '~', '*', 1]]],
  ]],
]

lSentenceRules = [
  ["", [
    ['(?<![\\w.,–-])(\\w+) {1,3}\\1(?![\\w–-])', False, '#1621s', 'doublon', 4, [['_c_doublon_1', '-', '\\1', 0, 'Doublon.', '']]],
  ]],
  ["num", [
    ['(?<![\\w.,–-])[\\dO]+[O][\\dO]+(?![\\w–-])', False, '#1635s', 'num_lettre_O_zéro1', 4, [['_c_num_lettre_O_zéro1_1', '-', '=_s_num_lettre_O_zéro1_1', 0, 'S’il s’agit d’un nombre, utilisez le chiffre «\xa00\xa0» plutôt que la lettre «\xa0O\xa0».', '']]],
    ['(?<![\\w.,–-])[1-9]O(?![\\w–-])', False, '#1636s', 'num_lettre_O_zéro2', 4, [['_c_num_lettre_O_zéro2_1', '-', '=_s_num_lettre_O_zéro2_1', 0, 'S’il s’agit d’un nombre, utilisez le chiffre «\xa00\xa0» plutôt que la lettre «\xa0O\xa0».', '']]],
  ]],
  ["", [
    ['[¹²³⁴⁵⁶⁷⁸⁹⁰]+', False, '#1646s', 'p_exposants', 4, [[None, '~', '*', 0]]],
    ['(?i)(?<![\\w.,–-])(\\w[\\w-]+)(\\d+)(?![\\w–-])', True, '#1650s', 'p_références_aux_notes', 4, [['_c_p_références_aux_notes_1', '~', '*', 2]]],
  ]],
  ["tu", [
    ['(?i)(?<![\\w.,–-])(\\w+)(?:--|—|–|−|⁃)(\\w+)(?![\\w–-])', True, '#1659s', 'tu_trait_union_douteux', 7, [['_c_tu_trait_union_douteux_1', '-', '\\1-\\2', 0, 'Trait d’union\xa0: un tiret simple suffit.', '']]],
    ["(?i)([-–—− ]t(?:[’' ][-–—−]?|[-–—−][’' ]?))(ie?ls?|elles?|on|tu)(?![\\w–-])", True, '#1667s', 'tu_t_euphonique_incorrect', 7, [['_c_tu_t_euphonique_incorrect_1', '-', '-', 1, 'Le “t” euphonique n’est pas nécessaire avec “\\2”.', 'http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513'], ['_c_tu_t_euphonique_incorrect_2', '-', '-t-', 1, 'Pour le “t” euphonique, il faut deux traits d’union. Pas d’apostrophe. Pas d’espace.', ''], ['_c_tu_t_euphonique_incorrect_3', '~', '-t-', 1]]],
    ["(?i)[td]([- ]t[-’' ])(?:ie?l|elle|on)(?![\\w–-])", True, '#1672s', 'tu_t_euphonique_superflu', 7, [[None, '-', '-', 1, 'Le “t” euphonique est superflu quand le verbe se termine par “t” ou “d”.', 'http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513'], ['_c_tu_t_euphonique_superflu_2', '~', '-t-', 1]]],
  ]],
  ["eleu", [
    ['(?i)[aec](-(ie?l|elle|on))(?![\\w–-])', True, '#1676s', 'eleu_t_euphonique_manquant', 4, [[None, '-', '-t-\\2', 1, 'Euphonie. Il faut un “t” euphonique.', 'http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513']]],
  ]],
  ["@@@@", [
    ['graphe0', '#1712s'],
    ['graphe1', '#2620s'],
    ['ocr', '#3914s'],
    ['graphe2', '#4873s'],
    ['intergraphe12a', '#19819s'],
    ['intergraphe12b', '#20214s'],
  ]],
  ["redon2", [
    ['(?i)(?<![\\w.,–-])(\\w[\\w-][\\w-]+\\w)[ ,].* (\\1)(?![\\w–-])', True, '#20823s', 'redondances_phrase', 4, [['_c_redondances_phrase_1', '-', '_', 2, 'Dans cette phrase, répétition de “\\1” (à gauche).', ''], ['_c_redondances_phrase_2', '-', '_', 1, 'Dans cette phrase, répétition de “\\1” (à droite).', '']]],
  ]],
  ["mc", [
    ['(?i)(?<![\\w.,–-])(\\w\\w+)-(\\w\\w+)(?![\\w–-])', True, '#20837s', 'mc_mot_composé', 4, [['_c_mc_mot_composé_1', '>', ''], ['_c_mc_mot_composé_2', '-', '\\1\\2', 0, 'Vous pouvez ôter le trait d’union.', ''], ['_c_mc_mot_composé_3', '-', '_', 0, 'Mot inconnu du dictionnaire.', '']]],
  ]],
  ["@@@@", [
    ['graphe3', '#20857s'],
    ['prégraphe_gv1', '#29340s'],
    ['verbes1', '#29570s'],
    ['verbes2', '#33331s'],
  ]],
]
