如何在MySQL中使用REGEXP来使用SUBSTRING

时间:2013-02-13 10:20:40

标签: mysql regex substring

我有情况,我必须使用MySQL从描述中对正则表达式进行子串。

Descritpion:

  

Lorem ipsum dolor坐下来,精神上的精神。 Sed ac magna   enim,eu adipiscing sapien。 Cras lacinia vulputate elit,sed   adipiscing felis interdum a。 Cum sociis natoque penatibus et magnis   产妇montes,nascetur ridiculus mus。 Phasellus坐下来   奥奇。 D9801 Quisque dignissim posuere quam,id suscipit nisl   scelerisque nec。

D9801 是REGEXP。每个描述都有不同的内容,但我的reg exp应该是:REGEXP 'D[[:digit:]]{4}'

我知道REGEXP只返回true / false值,但是如何才能使查询只返回 D9801 值?

我试过这样的事情:

SELECT 
SUBSTRING (description, LOCATE(REGEXP 'D[[:digit:]]{4}', description), 5)
FROM (
   SELECT "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac magna enim, eu adipiscing sapien. Cras lacinia vulputate elit, sed adipiscing felis interdum a. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus sit amet ante orci. **D9801** Quisque dignissim posuere quam, id suscipit nisl scelerisque nec." AS description
) temp

但现在我知道这是完全错误的...... 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

MySQL不提供此功能。但你可以查看udf

仔细查看此功能:REGEXP_SUBSTR(text, pattern [,position [,occurence [,mode]]])