質問
正規表現があります
%word% can occur multiple times, separated by a "<"
%word%は、&quot;。*?&quot; | [a-zA-Z] +
として定義されます
だから私は書いた
(".*"|[a-zA-Z]+)([<](".*"|[a-zA-Z]+))*
キャプチャグループを使用して縮小する方法はありますか
(".*"|[a-zA-Z]+)([<]\1)*,
しかし、 \ 1
は最初のキャプチャを繰り返すことを意味するので、引用された文字列または単語である可能性があるためキャプチャされたものがわからないため、使用できないと思います。
似たようなものは、以前に書かれたグループに一致するものを参照するために使用できます。私はC#で作業しています。
解決 2
この機能のサポートはまだないので、文字列置換を作成しました。%%を使用して正規表現に置き換える必要のある特定の単語を記述し、次に、テキスト。
他のヒント
繰り返しを避けるためにString.Formatを使用し、正規表現グループを文字通り繰り返す方法はありません
String.Format("{0}([<]{0})*", @"("".*""|[a-zA-Z]+)")
所属していません StackOverflow