Overview
Comment: | [fr] Typographie: bookmarks |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr |
Files: | files | file ages | folders |
SHA3-256: |
878e74f23e4d3b2104ef9c17a3d9663f |
User & Date: | olr on 2017-12-19 09:06:30 |
Original Comment: | [fr] Typograhpie: bookmarks |
Other Links: | manifest | tags |
Context
2017-12-20
| ||
11:02 | [fr][bug] processeur de texte sur quasi check-in: f82d0da41e user: olr tags: trunk, fr | |
2017-12-19
| ||
09:06 | [fr] Typographie: bookmarks check-in: 878e74f23e user: olr tags: trunk, fr | |
2017-12-18
| ||
17:18 | [fr] élisions sur quelque et presque check-in: 129af7d2ee user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/rules.grx from [36e81724a1] to [bcfe072942].
︙ | ︙ | |||
665 666 667 668 669 670 671 | <<- after("\w\w[.] +\w+") -1>> =\1.capitalize() # Majuscule en début de phrase, sauf éventuellement lors d’une énumération. TEST: {{je}} suis disponible quand tu veux. Mais pas aujourd’hui. !! !! | | | < > > > > > > > > > > > > > > | > > > | 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 | <<- after("\w\w[.] +\w+") -1>> =\1.capitalize() # Majuscule en début de phrase, sauf éventuellement lors d’une énumération. TEST: {{je}} suis disponible quand tu veux. Mais pas aujourd’hui. !! !! !!!! Virgules !! !! # virgules manquantes __[i>/virg(virgule_manquante_avant_etc)__ {w_1}( etc[.]) @@$ <<- -1>> , etc. # Avant « etc. », il faut mettre une virgule. __[i>/virg(virgule_manquante_avant_car)__ ({w_1})( car)(?= (?:j[e’]|tu|ils?|nous|vous|elles?|on|les?|la|ces?|des?|cette|[mts](?:on|a))\b) @@0,$ <<- not morph(\1, ":[DR]", False) -2>> , car # Si « car » est la conjonction de coordination, une virgule est peut-être souhaitable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3447 __[i>/virg(virgule_manquante_avant_mais)__ {w_1}( mais)(?= (?:j[e’]|tu|ils?|elles?|on|ces?|des?|cette|[mts](?:on|a))\b) @@$ <<- -1>> , mais # Si « mais » est la conjonction de coordination, une virgule est souhaitable si elle introduit une nouvelle proposition.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3445 TEST: Un chien, un chat{{ etc.}} ->> , etc. TEST: Je suis fatigué{{ car}} ils ont joué toute la nuit. ->> , car TEST: Je suis fatigué{{ mais}} il a joué toute la nuit. ->> , mais __<s>/virg(virgule_point_fin_dialogue)__ ([.] » )[a-zéà] @@0 <<- -1>> " », | » " # Ou il faut une virgule (exemple : « Je viens », dit-il). Ou le point est superflu. Ou il faut une majuscule sur le mot suivant. __<s>/virg(virgule_fin_dialogue)__ (, »,? )[a-zéà] @@0 <<- -1>> " », | » " # Virgule mal placée ou superflue. TEST: « Ça suffit{{. » }}dit-elle. TEST: « J’en ai plus qu’assez{{, » }}dis-je. TEST: {{Julien}} donne-moi le sel. TEST: dès son premier rendez-vous au centre TEST: Depuis combien de temps fumez-vous ? __<s>/virg(virg_virgule_avant_points_suspension)__ , *… <<- ->> … # Typographie : pas de virgule avant les points de suspension. __<s>/virg(virg_virgule_après_point)__ ({w1})([.],) @@0,$ <<- not re.search("^(?:etc|[A-Z]|fig|hab|litt|circ|coll|ref|étym|suppl|bibl|bibliogr|cit|vol|déc|nov|oct|janv|juil|avr|sept|pp?)$", \1) -2>> ,|. # Pas de virgule après un point (sauf éventuellement après une abréviation). TEST: ceci, cela{{, …}} ->> … TEST: Les chiens, les chats{{.,}} les poules. ->> ,|. # Fin de paragraphe #__<i>/typo__ ({w_2}) *$ @@0 # <<- before("[a-zéàùèê][.] ") and not before(r"^(?:\d|\w[.])") # -1>> \1.|\1…|\1 !|\1 ?|\1 :|\1 ;|\1, # Il manque une ponctuation finale. !! !! !!!! Espaces manquants !! !! __<s>/typo(typo_espace_manquant_après1)__ ({w1})[,:]({w_1}) @@0,$ <<- not \1.isdigit() -2>> " \2" # Il manque un espace. __<s>/typo(typo_espace_manquant_après2)__ [?!;%‰‱˚»}]({w_1}) @@$ <<- -1>> " \1" # Il manque un espace. __<s]/typo(typo_espace_manquant_après3)__ {w_1}[.]({w_1}) @@$ <<- (\1.__len__() > 1 and not \1.isdigit() and spell(\1)) or after("^’") -1>> " \1" # Il manque un espace. |
︙ | ︙ | |||
726 727 728 729 730 731 732 733 734 735 736 737 738 739 | TEST: espace{{;}}{{manquant}} TEST: espace ;{{manquant}} ->> " manquant" TEST: espace{{?}}{{manquant}} TEST: espace{{!}}{{manquant}} TEST: espace.{{Manquant}} ->> " Manquant" TEST: qui ont refuse.{{de}} se sauver ->> " de" # Points superflus __[i>/typo(typo_et_cetera)__ etc(?:[.]{3,5}|…) <<- ->> etc. # Un seul point après « etc. » TEST: {{etc…}} TEST: {{etc...}} | > > > > > | 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 | TEST: espace{{;}}{{manquant}} TEST: espace ;{{manquant}} ->> " manquant" TEST: espace{{?}}{{manquant}} TEST: espace{{!}}{{manquant}} TEST: espace.{{Manquant}} ->> " Manquant" TEST: qui ont refuse.{{de}} se sauver ->> " de" !! !! !!!! Points !! !! # Points superflus __[i>/typo(typo_et_cetera)__ etc(?:[.]{3,5}|…) <<- ->> etc. # Un seul point après « etc. » TEST: {{etc…}} TEST: {{etc...}} |
︙ | ︙ | |||
759 760 761 762 763 764 765 | TEST: 5 points de suspension{{…..}} TEST: Double point{{..}} TEST: Ligne de points…{{...........................}} TEST: Ligne de points{{...........................}} TEST: Aujourd’hui, M. Camus va nous lire son texte. | < < < < < < < | > > > > > > | > > | 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 | TEST: 5 points de suspension{{…..}} TEST: Double point{{..}} TEST: Ligne de points…{{...........................}} TEST: Ligne de points{{...........................}} TEST: Aujourd’hui, M. Camus va nous lire son texte. !! !! !!!! Tirets !! !! # Tirets, énumérations et dialogues __<s>/typo(typo_tiret_début_ligne)__ ^[-_][ ] <<- ->> "— |– " # Dialogues et énumérations : un tiret cadratin ou demi-cadratin, suivi d’un espace insécable, est requis. __<s>/typo(typo_tiret_dans_dialogue)__ ^ *«[ ](-[ ]) @@$ <<- -1>> "— |– " # Dialogues : un tiret cadratin ou demi-cadratin, suivi d’un espace insécable, est requis. (Attention : à moins qu’il s’agisse d’un dialogue inclus dans un autre dialogue, cette manière d’écrire est erronée.) __<s>/nbsp(nbsp_après_tiret1)__ ^([—–]) + @@0 <<- ->> "\1 " # Dialogues et énumérations : ce tiret doit être suivi d’un espace insécable. __<s>/nbsp(nbsp_après_tiret2)__ ^([—–_-])[\w«“‘] @@0 <<- -1>> "— |– " # Dialogues et énumérations : il faut tiret cadratin ou demi-cadratin suivi d’un espace insécable. __<s>/typo(typo_tiret_incise)__ " - " <<- ->> " – | — " # Tiret d’incise : un tiret cadratin ou demi-cadratin est requis. TEST: {{- }}Ce tiret n’est correct nulle part. ->> "— |– " TEST: {{– }}Il manque toujours un espace insécable ! ->> "– " TEST: {{— }}Idem ! etc. ->> "— " TEST: {{_ }}C’est long ! ->> "— |– " TEST: {{—}}Viens là. ->> "— |– " TEST: Cette phrase contient{{ - }}c’est certain – des tirets d’incise. ->> " – | — " TEST: « {{- }}Viens ! On va en finir avec cette affaire, sale fils de pute. ->> "— |– " !! !! !!!! Ponctuations redondantes !! !! __<s>/typo(typo_ponctuation_superflue1)__ , ?([.,;:!?]) @@$ <<- ->> =",|" + \1 # Une de ces ponctuations est superflue. __<s>/typo(typo_ponctuation_superflue2)__ ; ?([.,;:…!?]) @@$ <<- ->> =";|" + \1 # Une de ces ponctuations est superflue. __<s>/typo(typo_ponctuation_superflue3)__ :[.,;:…!?] <<- ->> =":|" + \0[1] # Une de ces ponctuations est superflue. TEST: Mouais{{, ;}} TEST: Vraiment, bof {{;;}} on ne sait guère qu’en penser. TEST: Raisons {{:.}} trop, c’est trop. |
︙ | ︙ | |||
821 822 823 824 825 826 827 | TEST: Voici{{:}} les deux points. ->> " :" TEST: Voyelles:{{a}}. ->> " a" TEST: Succession : a{{;}} b. ->> " ;" TEST: C’est assez {{: }}parlez ! ->> ": " TEST: {{» }}C’est ce qu’on croit savoir. ->> "» |« " | > > | > > > | 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 | TEST: Voici{{:}} les deux points. ->> " :" TEST: Voyelles:{{a}}. ->> " a" TEST: Succession : a{{;}} b. ->> " ;" TEST: C’est assez {{: }}parlez ! ->> ": " TEST: {{» }}C’est ce qu’on croit savoir. ->> "» |« " !! !! !!!! Signes typographiques !! !! __<s>/typo(typo_signe_multiplication)__ (\d+) ?[x*] ?(\d+) @@0,$ <<- not \0.startswith("0x") ->> \1 × \2 # Signe de multiplication typographique. TEST: {{800 x 600}} ->> 800 × 600 TEST: {{800*600}} ->> 800 × 600 TEST: {{800 * 600}} ->> 800 × 600 TEST: nombre au format hexadécimal : 0x4407 |
︙ | ︙ | |||
845 846 847 848 849 850 851 852 | # ligatures typographiques : fi, fl, ff, ffi, ffl, ft, st __<s>/liga(ligatures_typographiques)__ [fiflffffifflſtst] <<- ->> =undoLigature(\0) # Suppression de la ligature typographique. TEST: __liga__ un {{fl}}ottement ->> fl TEST: __liga__ une belle {{fi}}gure ->> fi !!!! Apostrophes | > > | > | 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 | # ligatures typographiques : fi, fl, ff, ffi, ffl, ft, st __<s>/liga(ligatures_typographiques)__ [fiflffffifflſtst] <<- ->> =undoLigature(\0) # Suppression de la ligature typographique. TEST: __liga__ un {{fl}}ottement ->> fl TEST: __liga__ une belle {{fi}}gure ->> fi !! !! !!!! Apostrophes !! !! ## Apostrophe typographique __[i>/apos(apostrophe_typographique)__ ([ldsncjmç]|jusqu|lorsqu|aujourd|presqu|quelqu|puisqu|qu|prud|entr)['´‘′`](?=[\w"«]) @@0 <<- ->> \1’ # Apostrophe typographique. __[i>/apos(apostrophe_typographique_après_t)__ t['´‘′`](?!ils?|elles?|on)(?=[\w"«]) <<- ->> t’ # Apostrophe typographique. TEST: {{C'}}est l’apostrophe typographique qui manque. ->> C’ |
︙ | ︙ | |||
896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 | TEST: {{jusqu }}à plus soif ->> jusqu’ TEST: il ne {{m }}avait jamais fait défaut ->> m’ TEST: Il {{s }}était dit qu’il ne le ferait pas. ->> s’ TEST: Je {{m }}étais imaginé que je pourrais pas retrouver cet objet. ->> m’ TEST: Je {{n }}ai pas retrouvé l’ambiance de mes années de lycée. ->> n’ !!!! Guillemets typographiques __<s>/typo(typo_guillemets_typographiques_doubles_ouvrants)__ "(?=\w) <<- not before(r"[a-zA-Zéïîùàâäôö]$") ->> « |“ # Guillemets typographiques ouvrants. __<s>/typo(typo_guillemets_typographiques_doubles_fermants)__ [\w.?!…,](")(?!\w) @@* <<- -1>> " »|”" # Guillemets typographiques fermants. | > > > > | 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 | TEST: {{jusqu }}à plus soif ->> jusqu’ TEST: il ne {{m }}avait jamais fait défaut ->> m’ TEST: Il {{s }}était dit qu’il ne le ferait pas. ->> s’ TEST: Je {{m }}étais imaginé que je pourrais pas retrouver cet objet. ->> m’ TEST: Je {{n }}ai pas retrouvé l’ambiance de mes années de lycée. ->> n’ !! !! !!!! Guillemets typographiques !! !! __<s>/typo(typo_guillemets_typographiques_doubles_ouvrants)__ "(?=\w) <<- not before(r"[a-zA-Zéïîùàâäôö]$") ->> « |“ # Guillemets typographiques ouvrants. __<s>/typo(typo_guillemets_typographiques_doubles_fermants)__ [\w.?!…,](")(?!\w) @@* <<- -1>> " »|”" # Guillemets typographiques fermants. |
︙ | ︙ | |||
934 935 936 937 938 939 940 | TEST: {{'}}Ça’ recommence. ->> “|‘|‹ TEST: Le {{'}}grand’ homme. ->> “|‘|‹ TEST: Le ‘grand{{'}} homme. ->> ”|’|› TEST: J’en ai '''marre''' (syntaxe wiki). | | | > > | 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 | TEST: {{'}}Ça’ recommence. ->> “|‘|‹ TEST: Le {{'}}grand’ homme. ->> “|‘|‹ TEST: Le ‘grand{{'}} homme. ->> ”|’|› TEST: J’en ai '''marre''' (syntaxe wiki). !! !! !!!! Élisions !! !! __[i]/typo(typo_élision_déterminants)__ (l[ea] |de )([aâeéêiîoôu]\w+) @@0,$ <<- not re.search("(?i)^(?:onz[ei]|énième|iourte|ouistiti|ouate|one-?step|ouf|Ouagadougou|I(?:I|V|X|er|ᵉʳ|ʳᵉ|è?re))", \2) and not \2.isupper() and not morph(\2, ":G", False) -1>> =\1[0]+"’" # Élision de l’article devant un mot commençant par une voyelle.|http://fr.wikipedia.org/wiki/Élision __[i]/typo(typo_élision_si)__ (si )ils? @@0 <<- -1>> s’ # Il faut élider « si » et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision |
︙ | ︙ | |||
984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 | (ce) ([aâeéêiîoôu]\w+) @@0,$ <<- not re.search("(?i)^(?:onz|énième|ouf|énième|ouistiti|one-?step|I(?:I|V|X|er|ᵉʳ))", \2) and morph(\2, ":[me]") -1>> cet # Euphonie : « ce » devient « cet » devant un mot commençant par une voyelle. TEST: {{ce}} animal est dangereux !!!! Divers ## NF (memo: don’t use flag i) __[s]/nf(nf_norme_française)__ [nN][fF][ -]?(?:c|C|e|E|p|P|q|Q|s|S|x|X|z|Z|[eE][nN](?:[ -][iI][sS][oO]|))[ -]?[0-9]+(?:[/ ‑-][0-9]+|) <<- not re.search("^NF (?:C|E|P|Q|S|X|Z|EN(?: ISO|)) [0-9]+(?:‑[0-9]+|)", \0) ->> =formatNF(\0) # Norme française. Utilisez les espaces et tirets insécables.|http://fr.wikipedia.org/wiki/Liste_de_normes_NF TEST: __nf__ Norme française : {{Nf-EN ISO 3892-23}} ## Chimie __[s]/chim(chim_molécules)__ (?:Ca(?:CO3|SO4)|CO2|(?:H2|Na2)(?:CO3|O|SO4)|[HNO]2|HNO3|Fe2O3|KMnO4|NO2|SiO2|SO[23]) <<- ->> =\0.replace("2", "₂").replace("3", "₃").replace("4", "₄") # Typographie des composés chimiques. [!] TEST: __chim__ les molécules {{CaCO3}} et {{H2O}}… | > > > > | > > > | 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 | (ce) ([aâeéêiîoôu]\w+) @@0,$ <<- not re.search("(?i)^(?:onz|énième|ouf|énième|ouistiti|one-?step|I(?:I|V|X|er|ᵉʳ))", \2) and morph(\2, ":[me]") -1>> cet # Euphonie : « ce » devient « cet » devant un mot commençant par une voyelle. TEST: {{ce}} animal est dangereux !! !! !!!! Divers !! !! ## NF (memo: don’t use flag i) __[s]/nf(nf_norme_française)__ [nN][fF][ -]?(?:c|C|e|E|p|P|q|Q|s|S|x|X|z|Z|[eE][nN](?:[ -][iI][sS][oO]|))[ -]?[0-9]+(?:[/ ‑-][0-9]+|) <<- not re.search("^NF (?:C|E|P|Q|S|X|Z|EN(?: ISO|)) [0-9]+(?:‑[0-9]+|)", \0) ->> =formatNF(\0) # Norme française. Utilisez les espaces et tirets insécables.|http://fr.wikipedia.org/wiki/Liste_de_normes_NF TEST: __nf__ Norme française : {{Nf-EN ISO 3892-23}} ## Chimie __[s]/chim(chim_molécules)__ (?:Ca(?:CO3|SO4)|CO2|(?:H2|Na2)(?:CO3|O|SO4)|[HNO]2|HNO3|Fe2O3|KMnO4|NO2|SiO2|SO[23]) <<- ->> =\0.replace("2", "₂").replace("3", "₃").replace("4", "₄") # Typographie des composés chimiques. [!] TEST: __chim__ les molécules {{CaCO3}} et {{H2O}}… !! !! !!!! Cohérence des guillemets !! !! __<s>/typo(typo_cohérence_guillemets_chevrons_ouvrants)__ («)[^»“]+?(”) @@0,$ <<- not before(r"\w$") -1>> “ # Guillemet ouvrant différent du guillemet fermant (”). <<- not after(r"^\w") -2>> " »" # Guillemet fermant différent du guillemet ouvrant («). __<s>/typo(typo_cohérence_guillemets_chevrons_fermants)__ (“)[^”«]+?(») @@0,$ |
︙ | ︙ | |||
1058 1059 1060 1061 1062 1063 1064 | TEST: ces actions ne représentent rien{{’}} pour moi. TEST: « Je suis là. TEST: — Oui, nous t’avons vu arriver. » TEST: « J’en suis “malade”. » | | > > > | 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 | TEST: ces actions ne représentent rien{{’}} pour moi. TEST: « Je suis là. TEST: — Oui, nous t’avons vu arriver. » TEST: « J’en suis “malade”. » !! !! !!!! Espaces insécables avant unités de mesure !! !! __[s]/unit(unit_nbsp_avant_unités1)__ ((\d+(?:,\d+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹]|)) ?)(?:[kcmµn]?(?:[slgJKΩ]|m[²³]?|Wh?|Hz|dB)|[%‰€$£¥Åℓhj]|min|°C|℃)(?![’']) @@0,0 <<- -1>> "\2 " # Avec une unité de mesure, mettez un espace insécable. __[s]/unit(unit_nbsp_avant_unités2)__ ((\d+(?:,\d+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹])) ?)([a-zA-Zµ][a-zA-Z0-9Ωℓ⁰¹²³⁴⁵⁶⁷⁸⁹/·]*) @@0,0,$ |
︙ | ︙ | |||
1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 | TEST: il me le propose pour {{243,4 }}gCO2/kWh TEST: en l’an 2000 Urgondorletroll eut une idée TEST: 1998 s’annonce grandiose. TEST: il y en a 3,43 milliards. TEST: je veux 200 euros. !!!! Grands nombres __[s]/num(num_grand_nombre_soudé)__ \d\d\d\d+ <<- not before("NF[ -]?(C|E|P|Q|X|Z|EN(?:[ -]ISO|)) *$") >>> <<- \0.__len__() > 4 ->> =formatNumber(\0) # Formatage des grands nombres. <<- __else__ and after("^(?:,\d+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹])") | > > > > | 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 | TEST: il me le propose pour {{243,4 }}gCO2/kWh TEST: en l’an 2000 Urgondorletroll eut une idée TEST: 1998 s’annonce grandiose. TEST: il y en a 3,43 milliards. TEST: je veux 200 euros. !! !! !!!! Grands nombres !! !! __[s]/num(num_grand_nombre_soudé)__ \d\d\d\d+ <<- not before("NF[ -]?(C|E|P|Q|X|Z|EN(?:[ -]ISO|)) *$") >>> <<- \0.__len__() > 4 ->> =formatNumber(\0) # Formatage des grands nombres. <<- __else__ and after("^(?:,\d+[⁰¹²³⁴⁵⁶⁷⁸⁹]?|[⁰¹²³⁴⁵⁶⁷⁸⁹])") |
︙ | ︙ | |||
1138 1139 1140 1141 1142 1143 1144 | \d\d?\d?(?: \d\d\d)+ <<- option("num") ->> =\0.replace(" ", " ") # Grands nombres : utilisez des espaces insécables. <<- ~>> =\0.replace(" ", "_") TEST: Il a perdu {{20 000}} euros à la Bourse en un seul mois. | | > | > > > | > > | 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 | \d\d?\d?(?: \d\d\d)+ <<- option("num") ->> =\0.replace(" ", " ") # Grands nombres : utilisez des espaces insécables. <<- ~>> =\0.replace(" ", "_") TEST: Il a perdu {{20 000}} euros à la Bourse en un seul mois. !! !! !!!! Dates !! !! __[i]/date(date_nombres)__ (?<!\d[ /.-])(\d\d?)[ /.-](\d\d?)[ /.-](\d\d\d+)(?![ /.-]\d) @@0,w,$ <<- not checkDate(\1, \2, \3) and not before(r"(?i)\bversions? +$") ->> _ # Cette date est invalide. <<- ~>> =\0.replace(".", "-").replace(" ", "-").replace("\/", "-") TEST: le {{29 02 2011}} TEST: le {{40-02-2011}} TEST: le {{32.03.2018}} TEST: le {{81/01/2012}} TEST: 12-12-2012 !! !! !!!! Redondances !! !! __[i]/redon1(redondances_paragraphe)__ ({w_4})[ ,.;!?:].*[ ](\1) @@0,$ <<- not morph(\1, ":(?:G|V0)|>(?:t(?:antôt|emps|rès)|loin|souvent|parfois|quelquefois|côte|petit|même) ", False) and not \1[0].isupper() -2>> _ # Dans ce paragraphe, répétition de « \1 » (à gauche). <<- __also__ -1>> _ # Dans ce paragraphe, répétition de « \1 » (à droite). TEST: __redon1__ Tu es son {{avenir}}. Et lui aussi est ton {{avenir}}. TEST: __redon1__ Car parfois il y en a. Mais parfois il n’y en a pas. !!! !!! !!! Processeur: Dernier nettoyage avant coupure du paragraphe en phrases !!! |
︙ | ︙ |