gpt4 book ai didi

mysql - REGEX 在 MySQL 中查找包含左括号和右括号的行

转载 作者:行者123 更新时间:2023-11-29 06:03:32 24 4
gpt4 key购买 nike

我试过:

....WHERE fieldname REGEXP '.*\(.*\).*';

但这会返回表中的每条记录。

最佳答案

在 REGEXP 模式中转义正则表达式特殊元字符时,您应该使用双反斜杠。此外,由于 REGEXP 还会找到部分匹配项,因此您不需要在开始/结束处使用 .*

因此,您可以将表达式固定为

WHERE fieldname REGEXP '\\(.*\\)';

或者只使用 LIKE,其中 % 匹配任意数量的任意字符(但与 REGEXP 不同,必须匹配整个条目):

WHERE fieldname LIKE '%(%)%';

A MySQL fiddle :

DROP TABLE IF EXISTS t;
CREATE TABLE t (word varchar(255));
INSERT INTO t (word)
VALUES
('test (here)'),
('test (here) test'),
('(here) test'),
('test no'),
('no test');

SELECT * FROM t WHERE word REGEXP '\\(.*\\)';

SELECT * FROM t WHERE word LIKE '%(%)%';

enter image description here

要获取像 text ) 和 ( here 这样的条目,您可以使用

SELECT * FROM t WHERE word REGEXP '\\(.*\\)|\\).*\\(';

SELECT * FROM t WHERE word LIKE '%(%)%' OR word LIKE '%)%(%';

参见 another fiddle .

关于mysql - REGEX 在 MySQL 中查找包含左括号和右括号的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43228398/

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