- Регистрация
- 31.10.2011
- Сообщения
- 2 994
- Благодарностей
- 787
- Баллы
- 113
есть код:
предполагалось, что должно взять "pass", но берёт "//123.0.2.1:0000@login:pass"
и нет разницы - стоит самое короткое совпадение
или нет
понятно что решить это можно составив новый регекс -
, не в этом проблема
проблема в понимании, почему не всегда работает самое короткое совпадение, или это зенно проглючило, или так работает самое короткое совпадение?
C#:
string pattern = @"(?<=:).*?(?=$)";
Regex reg = new Regex(pattern);
string instring = "socks5://123.0.2.1:0000@login:pass";
project.Variables["testregex"].Value = reg.Match(instring).Value;
и нет разницы - стоит самое короткое совпадение
C#:
@"(?<=:).*?(?=$)"
C#:
@"(?<=:).*(?=$)"
C#:
@"(?<=:)[^:]*?(?=$)"
проблема в понимании, почему не всегда работает самое короткое совпадение, или это зенно проглючило, или так работает самое короткое совпадение?