Я хочу обрезать строку, если она начинается и/или заканчивается, например, foo или bar, и хочу получить внутреннюю строку в группе регулярных выражений.
Например
"fooTestbar" должен быть "Test",
"Test2bar" должен быть "Test2"
, а "Test3" должен быть "Test3".
Мое текущее регулярное выражение:
^(foo|bar)?(.*)(foo|bar)?$
но это не работает, потому что я не могу применить квантификатор ?
к альтернативной группе ((foo|bar)
).
Мой код
static string returnMatch(string text){
string pattern = @"^(foo|bar)?(.*)(foo|bar)?$";
return System.Text.RegularExpressions.Regex.Match(text, pattern).Groups[2].Value;
}
Любая помощь будет оценена.