(Ceci est une retombée de une question que j'ai posée plus tôt .)
J'essaie d'élaborer un RegEx pour LibreOffice Writer qui trouve toutes les abréviations dans ma thèse. Actuellement, j'ai les éléments suivants:
\b(?:[A-Z]){2,}
Cela fait presque l'affaire, car il identifie tous les mots commençant par plus d'une lettre majuscule. Cependant, j'ai quelques abréviations qu'il ne comprend pas, à savoir:
CoE RoR RoC
Idéalement, je voudrais un RegEx qui identifie tous les mots avec au moins deux lettres majuscules, bien qu'ils ne soient pas obligatoirement au début du mot . Mais je suis à court d'essayer de le créer. Est-ce que quelqu'un peut-il me montrer la bonne direction?
Cette expression ne trouve pas toutes les possibilités, mais devrait trouver celles que vous recherchez:
Donc pour ce texte:
Il trouve tous les mots sauf
cAB cAb cab Cab CabC
, ce qui, je présume, ne devrait pas être considéré comme une abréviation.Ventilation de l'expression:
\b
est la limite de mot.(?:[A-Z]{2}[:alpha:]*)
accepte tous les mots commençant par deux lettres majuscules.[:alpha:]*
correspond au reste du mot en acceptant toutes les lettres, majuscules ou minuscules.|
"ou" essaie l'expression suivante si la première ne correspond pas.(?:[A-Z][a-z][A-Z][:alpha:]*)
accepte tous les mots commençant par les lettres supérieure, inférieure, supérieure.la source