私は、これはあなたが少し近づくと「ない」または「悪い」は一部である場合を可能にしてもよいと考えています別の言葉の正規表現では、空白文字の後に空白文字または "いいえ"が続き、空白文字の後に空白文字または行末が続く "bad"が続きます(別の単語の一部ではありません)。あなたが確信するまで、テストフレーズを追加してください!つまり、行5が疑問符で終わったような特殊文字を許可する必要がありますか?
SQL> with tbl(data) as (
2 select 'Line 1: a bad rider' from dual union
3 select 'Line 2 : apple is not bad' from dual union
4 select 'Line 3 : there is no bad remarks.' from dual union
5 select 'Line 4 : no there is nothing bad' from dual union
6 select 'Line 5 : was that knot bad' from dual union
7 select 'Line 6 : let''s play badminton' from dual union
8 select 'Line 7 : let''s play no badminton' from dual
9 )
10 select *
11 from tbl
12 where not regexp_like(data, ' (not|no) bad(|$)');
DATA
---------------------------------
Line 1: a bad rider
Line 4 : no there is nothing bad
Line 5 : was that knot bad
Line 6 : let's play badminton
Line 7 : let's play no badminton
SQL>
使用[ '(?<!ではない)(?<!なし)\ bbad \ B'](https://regex101.com/r/ywMEV6/1) –
私は、Oracleでそれを行う必要があります正規表現。否定的な先読みはサポートされていないようです。それは否定的な先読みなしでそれをすることは可能ですか? – snowrock
いいえ、Oracleでは純粋な正規表現は使用できません。 –