返回regexp不匹配但不包含单词的记录

时间:2011-12-19 22:36:30

标签: mysql regex

我正在尝试返回MySQL记录,但这些记录并没有以特定的方式结束,但我很难得到我想要的东西(并且说实话)。

记录是以下格式的URL:

/artist/all/page666 (Do return)
/artist/foo-fighters/page666 (Don't return)
/albums (Do return)
/albums/page666 (Don't return)

所以我希望记录以all / page666结尾,但我不希望以any_word_other_than_all / page666结尾的记录。

使用

LIKE '%all/page%'

会让我走到一半,但不包括像

这样的东西
/albums
/vinyl

因此,如果我的REGEXP排除 any_word_other_than_all / page [int] ,我会得到我想要的一切。

我很感激任何帮助!

1 个答案:

答案 0 :(得分:4)

这样的东西? (首先想到的是......)

SELECT .. WHERE myfield REGEXP '/all/page[0-9]+$' OR myfield NOT REGEXP '/page[0-9]+$'