1

これまでのところ..私はこのテスト文字列を持っています:

Hello {John|Paul|Cindy}, hows {david}?

そして私の表現は:

(\{\w+\})

ただし、david のみが返されます。ジョン、ポール、シンディを捕まえたい。垂直バーは 0 または 2 本しかありません。何か案は?

ありがとう

4

2 に答える 2

2

ある種の競争でない場合は、2つの正規表現を使用します。

{[\w|]+}中括弧の各ペアとその内容を取得し、各結果で\w+単語を抽出します。

1つの正規表現だけを使用して単純化することはできません。

于 2012-07-03T23:46:24.630 に答える
1

縦棒が 0 本または 2 本の場合:

(\{\w+\}|\{\w+\|\w+\|\w+\})

0 以上の場合:

(\{\w+(\|\w+)*\})
于 2012-07-03T23:28:32.390 に答える