6
У меня есть следующая проблема с моим регулярным выражением, я хотел бы, чтобы соответствовать гусеницу в строке «Это гусеница сек зуб» но он соответствует кошки. Как я могу его изменить?C# Regex чтобы соответствовать слова из списка
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);
}
Спасибо, но почему мне нужно 'Regex.Escape' это работает только остроумие' \ b's? –
@user: Что, если ваша одна из ваших строк содержит '\'? – SLaks
должно быть '\ b (abc | def) \ b' или' \ b (abc | def \ b) '- ваши примеры C# дают другой результат, чем ваш пример в первой строке. – Gerwald