6

Mysql で正規表現パターンを否定することは可能ですか? 通常、 を使用してパターンを否定できることはわかっています?!が、これは Mysql では機能しません。

私が達成する必要があるのは、 のようなバイナリに一致する結果を否定すること.0.0..0.です。つまり、2 番目、4 番目、7 番目がゼロの場合はカウントされません。NOT REGEX他の条件で使用されることが予想される mysql プロシージャを作成しているため、使用できません。

どんなアイデアでも大歓迎です、どうもありがとう。

4

3 に答える 3

16

ほぼすべての「負の正規表現」マッチングの質問に対する一般的な解決策があります。いくつかのロジックを使用して、正のマッチングの問題に変えてください。

これは通常、「このパターン以外のすべて」に一致する正規表現を構築しようとするよりも簡単です。

この場合、それは非常に簡単です:

select * from table
    where column_name regex '[pattern]' = 0 
于 2013-06-07T11:07:56.787 に答える
3

あなたはただ使うことができますNOT REGEX

SELECT * FROM table
 WHERE column_name NOT REGEX '^your[[:space:]]pattern here'

Erick Jimenez のコメントから転載。dan1111の答えよりも良いと思います。

NOT (any expression)そうすることもできますNOT (column_name REGEXP 'pattern')

于 2016-12-09T16:55:58.583 に答える
1

FULLTEXTその列にインデックスを追加して、ブール全文検索を使用できます

于 2013-06-07T11:07:14.580 に答える