4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
|
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
|
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
|
__[i](p_une_heure)__
(?:à |d(?:e +|’))une +heure(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt|décente|(?:très |)tardive)|) <<- ~>> *
__[i](p_nombre_heure)__
(?:à|de) (?:d(?:eu|i)x|tr(?:ois|eize)|qu(?:at(?:re|orze)|inze)|cinq|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt) +heures(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt)|) <<- ~>> *
## Conditionnel
__[i]__ à ({w_2}) pour cent @@2 <<- morph(\1, ":B", False) ~>> *
__[i]__ (au moins) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
__[i]__ au hasard <<- isEndOfNG() ~>> *
__[i]__ aussi ({w_2}) que (?:nécessaire|possible) @@6 <<- morph(\1, ":W", False) ~>> *
__[i]__ au sens (?:le (?:plus|moins) |)({w_2}) du terme @@w <<- morph(\1, ":A .*:m:s", False) ~>> *
#__[i]__ aussi ({w_2}) que ce soit
__[i]__ (nombre) des? @@0 <<- morph(word(-1), ":(?:R|C[sc])", False, True) ~1>> *
__[i]__ à ({w_2}) reprises @@2 <<- morph(\1, ":B", False) or re.search("(?i)^(?:plusieurs|maintes)", \1) ~>> *
__[i]__ bien entendu <<- morph(word(1), ":[NAQR]", False, True) ~>> *
__[i]__ ({w_2}) (comme (?:eux|elles?|lui|ça|celui-(?:ci|là)|celles?-(?:ci|là)|ceux(?:ci|là)|l[ea] [nv]ôtre|le [mts]ien|la [mts]ienne|les (?:[nv]ôtres|sien(?:ne|)s))) @@0,$
__[i](p_à_xxx_pour_cent)__ à ({w_2}) pour cent @@2 <<- morph(\1, ":B", False) ~>> *
__[i](p_au_moins)__ (au moins) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
__[i](p_au_hasard)__ au hasard <<- isEndOfNG() ~>> *
__[i](p_aussi_adv_que_possible)__ aussi ({w_2}) que (?:nécessaire|possible) @@6 <<- morph(\1, ":W", False) ~>> *
__[i](p_au_sens_adj_du_terme)__ au sens (?:le (?:plus|moins) |)({w_2}) du terme @@w <<- morph(\1, ":A .*:m:s", False) ~>> *
#__[i](p_aussi_xxx_que_ce_soit)__ aussi ({w_2}) que ce soit
__[i](p_nombre_de)__ (nombre) des? @@0 <<- morph(word(-1), ":(?:R|C[sc])", False, True) ~1>> *
__[i](p_à_xxx_reprises)__ à ({w_2}) reprises @@2 <<- morph(\1, ":B", False) or re.search("(?i)^(?:plusieurs|maintes)", \1) ~>> *
__[i](p_bien_entendu)__ bien entendu <<- morph(word(1), ":[NAQR]", False, True) ~>> *
__[i](p_comme_pronom)__
({w_2}) (comme (?:eux|elles?|lui|ça|celui-(?:ci|là)|celles?-(?:ci|là)|ceux(?:ci|là)|l[ea] [nv]ôtre|le [mts]ien|la [mts]ienne|les (?:[nv]ôtres|sien(?:ne|)s))) @@0,$
<<- morphex(\1, ":[NAQ]", ":V0") ~2>> *
__[i]__ ({w_2}) (pêle-mêle) @@0,$ <<- not morph(\1, ":D", False) ~2>> *
__[i]__ ({w_2}) (droit) devant @@0,w <<- not morph(\1, ":D.*:[me]:[si]", False) ~2>> *
__[i]__ dans (?:la (?:(?:grande |)majorité|plupart) des|de (?:tr[èo][sp] |)nombreux) cas <<- not morph(word(1), ":([AQ].*:[me]:[pi])", False, False) ~>> *
__[i]__ (du coup) ({w_1}) @@0,$ <<- not morph(\2, ":A", False) ~1>> *
__[i]__ (d[eouû]\w+|cr[ouû]\w+|pens\w+|imagin\w+|estim\w+) (l(?:eur|ui)|nous|vous) être @@0,w
__[i](p_pêle_mêle)__ ({w_2}) (pêle-mêle) @@0,$ <<- not morph(\1, ":D", False) ~2>> *
__[i](p_droit_devant)__ ({w_2}) (droit) devant @@0,w <<- not morph(\1, ":D.*:[me]:[si]", False) ~2>> *
__[i](p_dans_xxx_cas)__
dans (?:la (?:(?:grande |)majorité|plupart) des|de (?:tr[èo][sp] |)nombreux|maints) cas
<<- not morph(word(1), ":([AQ].*:[me]:[pi])", False, False) ~>> *
__[i](p_du_coup)__
(du coup) ({w_1}) @@0,$
<<- not morph(\2, ":A", False) ~1>> *
__[i](p_verbe_pronom_être)__
(d[eouû]\w+|cr[ouû]\w+|pens\w+|imagin\w+|estim\w+) (l(?:eur|ui)|nous|vous) être @@0,w
<<- morph(\1, ">(?:croire|devoir|estimer|imaginer|penser) ") ~2>> *
__[i](p_en_partie)__
(en partie) ({w_2}) @@0,$
__[i]__ (en partie) ({w_2}) @@0,$ <<- morph(\1, ":(?:R|D|[123]s|X)", False) ~1>> *
__[i]__ (en quelques (?:années|semaines|minutes)) +({w_2}) @@0,$ <<- not morph(\2, ":[AQ]:[ef]:[si]", False) ~1>> *
__[i]__ (en quelques (?:jours|mois|siècles)) +({w_2}) @@0,$ <<- not morph(\2, ":[AQ]:[em]:[si]", False) ~1>> *
__[i]__ entre (?:eux|elles|nous|vous)(?: et (?:moi|toi|nous|vous|elles|eux)|) <<- not before(r"(?i)\b(?:il +|n’)$") ~>> *
__[i]__ haut et fort <<- not morph(word(-1), ":D", False, False) ~>> *
__[i]__ hélas <<- not before(r"(?i)\bt(?:u|oi qui)[ ,]") ~>> *
__[i]__ nécessité fait loi <<- not morph(word(-1), ":D", False, False) ~>> *
__[i]__ (non|par trop) ({w_2}) @@0,$ <<- morph(\2, ":A", False) ~1>> *
__[i]__ plein est <<- not morph(word(-1), ":D", False, False) ~>> *
__[i]__ (?:plus|moins|aussi) ({w3}) que prévu @@w <<- morph(\1, ":W", False) ~>> *
__[i]__ (?:plus|moins|aussi) ({w3}) (que (?:les autres|l’autre)) @@w,$ <<- morphex(\1, ":[AW]", ":G") ~2>> *
__[i]__ plus ({w3}) (les une?s que les autres) @@5,$ <<- morph(\1, ":[AW]", False) ~2>> *
__[i]__ (pour autant (?:que (?:je sache|tu saches|nous sachions|vous sachiez)|qu (?:il|elle)(?: sache|s sachent))) ({w_1}) @@0,$
<<- morph(\1, ":(?:R|D|[123]s|X)", False) ~1>> *
__[i](p_en_quelques_tps)__
(en quelques (?:années|décennies|semaines|heures|minutes)) +({w_2}) @@0,$
<<- not morph(\2, ":[AQ]:[ef]:[si]", False) ~1>> *
__[i](p_en_quelques_tps)__
(en quelques (?:jours|mois|trimestres|semestres|siècles|millénaires)) +({w_2}) @@0,$
<<- not morph(\2, ":[AQ]:[em]:[si]", False) ~1>> *
__[i](p_entre_pronom_et_pronom)__
entre (?:eux|elles|nous|vous)(?: et (?:moi|toi|nous|vous|elles|eux)|)
<<- not before(r"(?i)\b(?:il +|n’)$") ~>> *
__[i](p_haut_et_fort)__ haut et fort <<- not morph(word(-1), ":D", False, False) ~>> *
__[i](p_hélas)__ hélas <<- not before(r"(?i)\bt(?:u|oi qui)[ ,]") ~>> *
__[i](p_nécessité_fait_loi)__ nécessité fait loi <<- not morph(word(-1), ":D", False, False) ~>> *
__[i](p_non_par_trop)__ (non|par trop) ({w_2}) @@0,$ <<- morph(\2, ":A", False) ~1>> *
__[i](p_plein_est)__ plein est <<- not morph(word(-1), ":D", False, False) ~>> *
__[i](p_plus_adv_que_prévu)__ (?:plus|moins|aussi) ({w3}) que prévu @@w <<- morph(\1, ":W", False) ~>> *
__[i](p_plus_adv_que_les_autres)__ (?:plus|moins|aussi) ({w3}) (que (?:les autres|l’autre)) @@w,$ <<- morphex(\1, ":[AW]", ":G") ~2>> *
__[i](p_plus_adv_les_uns_que_les_autres)__ plus ({w3}) (les une?s que les autres) @@5,$ <<- morph(\1, ":[AW]", False) ~2>> *
__[i](p_pour_autant_que_su)__
(pour autant (?:que (?:je sache|tu saches|nous sachions|vous sachiez)|qu (?:il|elle)(?: sache|s sachent))) ({w_1}) @@0,$
<<- not morph(\2, ":Y", False) ~1>> *
#__[i]__ avec ({w1}) <<- morph(\1, ":N") and not re.search("(?i)^(force|air)$", \1) and not morph(word(1), ":A", False) ~>> *
__[i]__ ({w_2}) +(tête baissée) @@0,$ <<- morphex(\1, ":[NV]", ":D") ~2>> *
__[i]__ ((?:pas |)tant que ça) ({w1}) @@0,$ <<- not morph(\2, ":(?:3s|X)", False) ~1>> *
__[i]__ (?:le|un|ce|[mts]on) (putain d(?:e +|’))({w_2}) @@*,$ <<- morph(\2, ":[me]", False) ~1>> *
#__[i](p_avec)__ avec ({w1}) <<- morph(\1, ":N") and not re.search("(?i)^(force|air)$", \1) and not morph(word(1), ":A", False) ~>> *
__[i](p_tête_baissée)__ ({w_2}) +(tête baissée) @@0,$ <<- morphex(\1, ":[NV]", ":D") ~2>> *
__[i](p_tant_que_ça)__ ((?:pas |)tant que ça) ({w1}) @@0,$ <<- not morph(\2, ":(?:3s|X)", False) ~1>> *
__[i](p_putain_de)__ (?:le|un|ce|[mts]on) (putain d(?:e +|’))({w_2}) @@*,$ <<- morph(\2, ":[me]", False) ~1>> *
# Noms propres
__[i](p_cocktail_Molotov)__ cocktails? (Molotov) @@$ <<- ~1>> *
__[i](p_effet_Streisand)__ effets? (Streisand) @@$ <<- ~1>> *
__[i](p_prix_Nobel)__ prix (Nobel) @@5 <<- ~1>> *
__[s](p_Amérique)__ Amérique (centrale|du (?:Nord|Sud)) @@$ <<- ~1>> *
__[s](p_nom_propre_nom_propre)__
|