我从来没有很好地使用正则表达式 - 而且我正在寻找帮助构建MYSQL的简单正则表达式的人,该查询以下列模式查询数据库:
Could be anything here (YYYY)
基本上 - 我希望能够查询数据库以返回与该模式匹配的所有行。
示例查询:
SELECT title from myTable where title REGEX '$(YYYY)$'
对此有何建议或帮助?
更新:YYYY条目是一年,如2011年或2010年。对不起,请注意混淆。
答案 0 :(得分:5)
这应该可以解决问题:
SELECT title from myTable where title REGEXP '[(][0-9]{4}[)]'
(顺便说一下,REGEXP
带有P)
答案 1 :(得分:1)
不确定您到底要找的是什么,但试试这个:
SELECT title from myTable where title REGEXP '.*\([0-9]{4}\).*'
编辑:太慢了:)使用Vache回答。
答案 2 :(得分:1)
SELECT title from myTable where title REGEXP '[(][0-9]{4}[)]'
请参阅:http://dev.mysql.com/doc/refman/5.1/en/regexp.html
并且:http://www.go4expert.com/forums/showthread.php?t=2337
了解更多信息。
答案 3 :(得分:-1)
如何简单(但有点慢)
SELECT * FROM table WHERE field LIKE '%yyyy%';
%符号是通配符,因此此samplequery将返回“field”包含“yyyy”的任何行。
例如:
yyyyfoobar or fooyyyybar or fooyyyy
将全部通过此查询找到。
忽略这个答案,因为它是在澄清编辑之前发布的。