gpt4 book ai didi

mysql - MySQL 中的正则表达式排除括号内有特定单词的内容

转载 作者:行者123 更新时间:2023-11-29 02:07:49 27 4
gpt4 key购买 nike

此正则表达式用于 MySQL 查询。

我想排除以下行,因为它在括号内有 something:

bla bla bla bla bla bla (bla bla bla something)

但是我想包括下一行,因为括号内没有something:

bla bla bla (bla bla bla)

我试过这个查询,但没成功。

SELECT * FROM table WHERE field NOT REGEXP '((%something%))';

我认为这是错误的。我只是反复试验。我喜欢使用正则表达式,但我从来没有完全理解它。是否有学习正则表达式细节的好的教程/书籍/链接?

最佳答案

尝试:

SELECT * FROM table WHERE field NOT REGEXP '\\([^\\)]*something.*\\)'

正则表达式是:

\([^\)]*something.*\)

(但 MySQL 将\视为特殊字符,因此我们必须将其转义为\)。

这意味着:

\(         - an open-parentheses character ("(" has a special meaning
in regular expressions, so we have to escape it with "\")
[^\)] - any character except a ")"...
* - ... repeated any number of times
something - the string to match
. - any character
* - ... repeated any number of times
\) - a ")" character

关于mysql - MySQL 中的正则表达式排除括号内有特定单词的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2856549/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com