次の形式の文字列がいくつかあります。
--> ABCDEF_(0) "Abcde fgh"
--> GHIJ4 1
最初のものは 3 つの一致を返す必要があります。
-->
ABCDEF_(0)
"Abcde fgh"
2 番目のものも 3 つの一致を返す必要があります。
-->
GHIJ4
1
だから私が一致させたいのは:
- 矢印 (-->)
- 空白や引用符で囲まれていない文字のグループ
- 空白を含む引用符で囲まれた式
文字列にはタイプ (2) と (3) のグループがさらに多く存在する可能性があるため、1 つの文字列に 3 つ以上の一致が含まれる可能性があります。
これまでのところ、これは私が持っているものです:
var regex = new Regex(
@"-->" + // match the starting arrow
@"|[^""\s]*\S+[^""\s]*" + // match elements not surrounded by quotes, trimmed of surrounding whitespace
@"|""[^""]+"""); // match elements surrounded by quotes
しかし、式を引用符で囲み、最初の文字列を返すため、これは機能しません。
-->
ABCDEF_(0)
"Abcde
fgh"
どの正規表現が機能しますか? 正規表現よりも簡単な方法があれば、それも受け入れます。