6
Mam następujący problem z moim wyrażenia regularnego, chciałbym go dopasować gąsienica w ciągu „To gąsienica s ząb” ale pasuje kota. Jak mogę to zmienić?C# Regex dopasować słowa z listy
List<string> women = new List<string>()
{
"cat","caterpillar","tooth"
};
Regex rgx = new Regex(string.Join("|",women.ToArray()));
MatchCollection mCol = rgx.Matches("This is a caterpillar s tooth");
foreach (Match m in mCol)
{
//Displays 'cat' and 'tooth' - instead of 'caterpillar' and 'tooth'
Console.WriteLine(m);
}
Dzięki, ale dlaczego muszę 'Regex.Escape' współpracuje tylko rozum' \ b's? –
@user: A co jeśli twój ciąg zawiera "\"? – SLaks
powinno być '\ b (abc | def) \ b' lub' \ b (abc | def \ b) '- twoje przykłady C# dają inny wynik, niż twój przykład w pierwszym wierszu. – Gerwald