Comment utiliser Regex pour faire correspondre les chaînes Unicode? Je charge quelques mots clés à partir d'un fichier texte et je les utilise avec Regex sur un autre fichier. Les mots-clés contiennent tous deux unicode (tel que á
, etc). Je ne suis pas sûr d'où le problème est. Y a-t-il une option que je dois définir?Regex ne correspond pas Unicode
code:
foreach (string currWord in _keywordList)
{
MatchCollection mCount = Regex.Matches(
nSearch.InnerHtml, "\\b" + @currWord + "\\b", RegexOptions.IgnoreCase);
if (mCount.Count > 0)
{
wordFound.Add(currWord);
MessageBox.Show(@currWord, mCount.ToString());
}
}
Et la lecture des mots-clés à une liste:
var rdComp = new StreamReader(opnDiag.FileName);
string compSplit = rdComp.ReadToEnd()
.Replace("\r\n", "\n")
.Replace("\n\r", "\n");
rdComp.Dispose();
string[] compList = compSplit.Split(new[] {'\n'});
Puis-je changer le tableau à une liste.
Pouvez-vous poster un extrait de votre code qui est en utilisant l'expression rationnelle? Il peut s'agir d'un problème de charset (par exemple, rien à voir avec regex), ou d'un problème regex, ou ... –
Quelle regex utilisez-vous et comment? Montre du code, s'il te plait. –
Les mots-clés commencent-ils et se terminent-ils toujours par des caractères de mot (c'est-à-dire, des lettres, des chiffres ou des traits de soulignement)? –