2009-03-12 18 views
1

cを私はので、私は参照元は、#

(".*"|[a-zA-Z]+)([<](".*"|[a-zA-Z]+))* 

を書いた

%word% can occur multiple times, separated by a "<" 

%ワード%が".*?"|[a-zA-Z]+ のように定義された正規表現を持っている私はそれを縮小することができます任意の方法はありますキャプチャグループを使用して?

(".*"|[a-zA-Z]+)([<]\1)*, 

しかし、私はそれはそれは引用符で囲まれた文字列や単語ことができるように私が撮影したのか分からないだろうとして、最初のキャプチャを繰り返すことを意味したいと\1を使用することができないと思います。

私が以前に書かれたグループに一致することを参照するために使用できる類似のもの。私はC#で働いています。

+0

grepで動作します、興味深い質問:) +1 –

答えて

0

サポートが機能するためにはまだ存在しないので、私は私が書いた文字列の代用を、作られました特定の単語を正規表現で置き換える必要があります%%を使用して、テキストを定義した正規表現に置き換えるプログラムを書いています。

1

繰り返しを避けるために、String.Formatのを使用していない正規表現グループを繰り返す方法はありません文字通り

String.Format("{0}([<]{0})*", @"("".*""|[a-zA-Z]+)") 
関連する問題