简体   繁体   English

如何在 MySQL 中使用 REGEXP 使用 SUBSTRING

[英]How to use SUBSTRING using REGEXP in MySQL

I have situation, where I have to substring regular expression from description using MySQL.我有一种情况,我必须使用 MySQL 从描述中子字符串正则表达式。

Descritpion:说明:

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

Where D9801 is REGEXP.其中D9801是 REGEXP。 Every description has different content but my reg exp should looks like: REGEXP 'D[[:digit:]]{4}'每个描述都有不同的内容,但我的 reg exp 应该如下所示: REGEXP 'D[[:digit:]]{4}'

I know the REGEXP return only true/false value, but how can I make query to return only D9801 value?我知道 REGEXP 只返回真/假值,但如何查询只返回D9801值?

I tried something like this:我试过这样的事情:

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

but now I know this is totally wrong... Any help will be appreciate.但现在我知道这是完全错误的......任何帮助将不胜感激。

MySQL doesn't provide this function. MySQL 不提供此功能。 But you can check out udf .但是您可以查看udf

Take a close look at this function : REGEXP_SUBSTR(text, pattern [,position [,occurence [,mode]]])仔细看看这个函数: REGEXP_SUBSTR(text, pattern [,position [,occurence [,mode]]])

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

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