-
行にダッシュ ( ) が含まれているかどうかを確認し、その一部をキャプチャする方法を理解するのに苦労しています。
入力として使用できる文字列の例を次に示します。
abc,xyz,ijk-a,opq
abc,xyz,ijk,opq
ダッシュが存在する場合は、ダッシュの前の部分、つまりijk
. ダッシュがない場合は、必要ですijk
(2 番目の文字列に示されているように)。
次の正規表現式は、先読みアサーションで if 条件を使用してジョブを実行しますが、こちらRegex code hereに示すように、常に 1 つの空のグループを生成します。を返すキャプチャ グループを 1 つだけにしたいと思いijk
ます。
正規表現 if 条件は、if または else 条件のグループのみを返し、両方ではないと考えました。
.*,(?(?=.*?-.*?)(.*?)-.*?|(.*?)),
ありがとう