Expression régulière avec les langues étrangères
-
22-09-2019 - |
Question
J'ai une fonction que je l'ai utilisé un tas de fois dans différents fichiers qui a une signature comme:
Translate("English Message", "Spanish Message", "French Message")
et je suis désireux de tirer les Anglais, les messages espagnols et français, puis les sortir dans un csv afin que les gens qui connaissent réellement ces langues peuvent me dire ce que j'ai mis là-dedans.
De toute façon, ce que je suis en cours d'exécution en est que certains messages français et espagnols ne se présentent pas à cause des caractères accentués et des guillemets simples.
Ceci est un programme de vb.net.
Modifier
Il n'y avait pas de problème avec la langue, ma question était en fait l'expression régulière et mon manque complet de compréhension des expressions régulières.
La solution
Dépend de la bibliothèque regex que vous utilisez. implémentations Sane regex utiliser UTF-8 et ne pas avoir de tels problèmes, mais plus de détails seraient utiles sur ce lang que vous utilisez, quelle bibliothèque regex etc.
Autres conseils
S'il y a un drapeau dotall dans la mise en œuvre de regex de votre langue, vous voudrez peut-être pour le définir.
Vous pouvez également modifier l'expression régulière pour capturer une classe de caractères niée à la place, comme suit:
([^your_delimiter]*?)
avec your_delimiter étant le caractère (s) suivant immédiatement la chaîne que vous voulez capturer.
Voir cette discussion plus: