Не получение нужной строки в группах регулярных выражений
Мой пример отлично работает с greedy, когда я использую для захвата всего значения строки и группы (только в группе[1]) заключаю с помощью пара одинарных кавычек
Но когда я хочу захватить все значение строки и группы (только в группе[1]), заключите несколько пар одинарных кавычек она только захватить значение из строки, заключите с последняя пара но не строка между первой и последней одинарными кавычками.
Что я уже пробовал:
string val1 = "Content:abc'23'asad"; //--->23 string val2 = "Content:'Scale['#13212']'ta"; Match match1 = Regex.Match(val1, @".*'(.*)'.*"); Match match2 = Regex.Match(val2, @".*'(.*)'.*"); if (match1.Success) { string value1 = match1.Value; string GroupValue1 = match1.Groups[1].Value; Console.WriteLine(value1); Console.WriteLine(GroupValue1); string value2 = match2.Value; string GroupValue2 = match2.Groups[1].Value; Console.WriteLine(value2); Console.WriteLine(GroupValue2); Console.ReadLine(); // using greedy For val1 i am getting perfect value for- // value1--->Content:abc'23'asad // GroupValue1--->23 // BUT using greedy For val2 i am getting the string elcosed by last single quote- // value2--->Content:'Scale['#13212']'ta // GroupValue2---> ] // But i want GroupValue2--->Scale['#13212'] }
Patrice T
Покажите пример входных строк и выборок, которые вы хотите использовать с регулярным выражением.