特定模式的正则表达式 - 字符串后跟数字

时间:2018-02-15 20:52:30

标签: mysql regex

我们正试图在MySQL中使用REGEX表达式。 假设我们有一个包含5行的2列表,如下所示:

1  marketing
2  marketing1
3  marketing12
4  office5
5  marketing44Tomorrow

我想要一个返回marketingmarketing1marketing12的SELECT语句。意思是字符串(市场营销),后面没有任何内容或只有数字。

本声明:

select * from ddd
where column_name2 REGEXP 'marketing[0-9]'

不起作用,因为它不会单独返回"marketing",它将返回"marketing44Tomorrow"

3 个答案:

答案 0 :(得分:2)

您可以使用:marketing([0-9]+)?[[:>:]]

`marketing` - any word start with **marketing**
`([0-9]+)` - any digit where....

 1. `?` - Maybe there may there not 
 2. `[[:>:]]` - Must be the last

结果:

SELECT * FROM ddd WHERE column_name2 REGEXP 'marketing([0-9]+)?[[:>:]]'

答案 1 :(得分:1)

试试这个, select * from ddd where column_name2 REGEXP' marketing [0-9] $'

答案 2 :(得分:0)

作为结论,MySQL问题中我的问题的完美答案是:

SELECT * FROM ddd WHERE column_name2 REGEXP' marketing([0-9] +)?[[:>:]]'

" MJN Belief"几乎就在这里。