たとえば、文字列が foo または bar で開始および/または終了し、正規表現グループの内部文字列を取得したい場合は、文字列をトリミングしたいと考えています。
例えば
「fooTestbar」は「Test」、
「Test2bar」は「Test2」
、「Test3」は「Test3」である必要があります。
私の現在の正規表現は次のとおりです。
^(foo|bar)?(.*)(foo|bar)?$
しかし、これは機能しません。これは、Quantifier?
を代替グループ ( (foo|bar)
) に適用できないためです。
マイコード
static string returnMatch(string text){
string pattern = @"^(foo|bar)?(.*)(foo|bar)?$";
return System.Text.RegularExpressions.Regex.Match(text, pattern).Groups[2].Value;
}
どんな助けでも大歓迎です。