繁体   English   中英

如何在 MySQL 中使用 REGEXP 使用 SUBSTRING

[英]How to use SUBSTRING using REGEXP in MySQL

我有一种情况,我必须使用 MySQL 从描述中子字符串正则表达式。

说明:

Lorem ipsum dolor 坐 amet,consectetur adipiscing 精英。 Sed ac magna enim, eu adipiscing sapien。 Cras lacinia vulputate elit, sed adipiscing felis interdum a。 Cum sociis natoque penatibus et magnis disparturient montes, nascetur ridiculus mus. Phasellus 坐在 amet ante orci。 D9801 Quisque dignissim posuere quam, id suscipit nisl scelerisque nec.

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

我知道 REGEXP 只返回真/假值,但如何查询只返回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

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

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

仔细看看这个函数: REGEXP_SUBSTR(text, pattern [,position [,occurence [,mode]]])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM