2017-11-21 8 views
0

私はC#アプリケーションにregex101.comで正規表現の上に構築されている正規表現を使用する計画:C#Regex - regex101.comの " g"に相当しますか?

((?'d'(?:3[0-9]\s+)){2})2f\s+(\g'd'{2})2f\s+(\g'd'{4}) 

問題は、C#はそれを文句ということである。

同等の構文は何
Unrecognized escape sequence \g. 

C#正規表現で "\ g"のために?または私は使用する予定の正規表現のためのより良い選択肢はありますか? regex101へ

リンク:https://regex101.com/r/CP4ZS0/1

+1

.net regexesでの再帰のサポートはありません。しかしこの場合、単純に完全なパターンを展開して、再帰パターンを再帰パターンに置き換えることができます。 –

+1

サブパターンを繰り返すだけです。 .NET正規表現は '\ g'n''再帰構造をサポートしていません。 –

+2

@SebastianProske回答を投稿しますか? –

答えて

1

.NET正規表現での再帰はサポートされていません。ただ、私はすべてのキャプチャグループを削除した

(?:3[0-9]\s+){2}2f\s+(?:3[0-9]\s+){2}2f\s+(?:3[0-9]\s+){4} 

ようにあなたは、再帰を使用する再帰パターンを、適用する、あなたが必要な場所にそれらを再適用することをお勧めします。

https://regex101.com/r/CP4ZS0/2

+0

'\ g'構造のドキュメントはありますか?私は再帰のためだけに(?R)を見た。 – Evk

+0

@Evk https://www.pcre.org/current/doc/html/pcre2syntax.html#SEC21を参照してください - それは言及されています(しかし、私は野生でその構築物を見るのは初めてです) –

関連する問題