J'ai une regex ([[email protected]\/,':\w]*[\w])*
et il correspond à tous les mots dans un texte (y compris les mots ponctués comme IBM), mais je veux le faire exclure les traits de soulignement et je n'arrive pas à comprendre comment le faire .. J'ai essayé d'ajouter ^[_]
(par exemple (^[_][[email protected]\/,':\w]*[\w])*
) mais il ne fait que décomposer tous les mots en lettres. Je veux préserver le mot correspondant, mais je ne veux pas avoir de mots avec des traits de soulignement, ni de mots entièrement composés de traits de soulignement.Regex ignore underscores
Quelle est la bonne façon de faire cela?
P.S.
- Mon application est écrite en C# (si cela fait une différence).
- Je ne peux pas utiliser A-Za-z0-9 parce que je dois faire correspondre des mots sans tenir compte de la langue (peut être chinois, russe, japonais, allemand, anglais).
Mise à jour
Voici un exemple: "I.B.M doit être analysé comme un seul mot w_o_r_d russe devrait fonctionner aussi: мплекс исторических событий."
Les matchs doivent être:
I.B.M.
should
be
parsed
as
one
word
Russian
should
work
too
мплекс
исторических
событий
Notez que w_o_r_d
ne devrait pas être jumelé.
'^ [_]' devrait être '[_ _]'. Le premier trouvera un '_' au début de la chaîne (ou une ligne si elle est multiligne). – climbage
@climbage, cela a certainement aidé à ignorer les underscores, mais les underscores dans les mots restent encore. – Kiril