パターンが一致し、グループの最後の前に特定の単語がない場合のみ、キャプチャグループを受け入れるようにしています。明らかに、私はコンセプトが届かない、私はアプローチの#を試したし、どれも動作するようには思えません:文字列の最後の否定アサーションを修正する
https://regex101.com/r/iP2xY0/3 https://regex101.com/r/iP2xY0/4
かかわらず、私は何をすべきかの私のキャプチャグループが何かをキャプチャした場合、私の目標でありますパターンの中央に拒否語が存在し、一致が返されません。
RC:\*.*?(?P<Capture>(Bob|David|Ted|Alice))(?!Reject).*
- RC:*こんにちはボブ・スミス< \人>
- RC:*こんにちはデビッド・ジョーンズ*注BLAのBLA < \人>
- RC:*こんにちはテッドウォーレン*人\ <拒否Namegrouopを返すことになっている>
キャプチャ:
- ボブ
- デビッド
- 「」
だから、「拒否」NameGroupキャプチャが発見された場合NameGroupと< Reject
が表示されますが何語の間であれば、それを<
で終わるものが続くキャプチャ言いますない。
https://regex101.com/r/iP2xY0/5は拒否と一致するだけです –
@be_good_do_goodありがとう。私が探しているのは、String1では 'Bob '、String2では' David'、String3では何もマッチングされていないということです。 – user3649739