C#Regexes:名前付きキャプチャグループと番号付きキャプチャグループ
var re = new Regex(@"(?<name>\w+)(x)\1\2");
Console.WriteLine(re.IsMatch("yxxy"));
True
を印刷すると、無名のキャプチャグループは1
から始まり、からという名前のキャプチャグループには後に番号が割り当てられます。これは正しい/意図された動作ですか?
C#Regexes:名前付きキャプチャグループと番号付きキャプチャグループ
var re = new Regex(@"(?<name>\w+)(x)\1\2");
Console.WriteLine(re.IsMatch("yxxy"));
True
を印刷すると、無名のキャプチャグループは1
から始まり、からという名前のキャプチャグループには後に番号が割り当てられます。これは正しい/意図された動作ですか?
少なくともMSDNはこう述べています。 http://msdn.microsoft.com/en-us/library/bs2twtah(VS.71).aspx。この記事の新しいバージョンでは確認されていますが、この情報を見つけるのは難しいです。 Named matched subexpressions are numbered consecutively from left to right after matched subexpressions.
奇妙な動作のようです。あなたが上でやったことは決して試してみませんでしたが、私はいつもそれがナンバリングで左手側から始まったと思っていました。 –
@mastoj:ええと...それもそうかもしれないと思っていたので、調査しなければならなかったのです! – mpen