178,14 → 178,27 |
} |
} |
|
// update definitions set cle = trim(cle); |
// select cle from definitions where cle like '%é' COLLATE 'utf8_bin'; |
// select cle from definitions where cle like '% ou %' COLLATE 'utf8_bin'; |
function batirRegexp(mots) { |
var restr = ''; |
$.each(mots, function(index, mot) { |
if(restr != '') restr += '|'; |
|
if(mot.length < 3) { |
if(mot == 'ph') { |
restr += 'ph[^.]'; |
} |
else if(mot.length < 3) { |
restr += mot; |
} |
// confluent => confluentes |
else if(mot.substr(-2) == 'ts') { |
restr += mot.slice(0, -1) + "e?s?"; |
} |
else if(mot.substr(-3) == 'ore') { |
restr += mot + "s?"; |
} |
// gestion masculin/féminin en "eux/euse" |
else if(mot.substr(-1) == 'x') { |
restr += mot.slice(0, -1) + "(?:x|se|ses)"; |
193,8 → 206,27 |
else if(mot.substr(-4) == 'euse') { // TODO: fix DB |
restr += mot.slice(0, -2) + "(?:x|se|ses)"; |
} |
else |
else if(mot.substr(-2) == 'ée') { |
restr += mot.slice(0, -1) + "e?s?"; |
} |
else if(mot.substr(-1) == 'é') { |
restr += mot + "e?s?"; |
} |
// verbe vs nom |
else if(mot.substr(-4) == 'orme') { |
restr += mot + "s?"; |
} |
// verbe 3è p.pluriel en DB: ne devraient pas exister |
// mais rampant => rampante |
else if(mot.substr(-2) == 'nt') { |
restr += mot + "e?s?"; |
} |
else { |
// moins de faux positifs: |
// restr += mot + "(?:[ées]){0,2}"; |
// autrement: |
restr += mot + "\\w{0,2}"; |
} |
}); |
|
regexp_complete = new RegExp("(?:\\s|^|\\W)(" + restr + ")\\b", "ig"); // accents |