如何从字符串中提取电子邮件

时间:2016-08-18 09:36:33

标签: sql oracle plsql

我想从字符串中提取电子邮件 我有字符串abc defg email@email.com,我想得到字符串email@email.com

我怎么能在PL / SQL中做到这一点?

2 个答案:

答案 0 :(得分:1)

这样的东西适用于很多情况,但远非完美。我添加了一个字符串,演示了两种不同的方法可能会失败,你会注意到它们。编写捕获所有可能情况的查询并不容易;你在多大程度上进一步完善了#34;匹配模式"取决于输入数据中的电子邮件的异常程度。

在正则表达式中,请注意点(。)必须使用反斜杠进行转义,并且在匹配列表(方括号中的字符列表)中,连字符 - 必须是列表中的第一个或最后一个字符,其他任何地方都是元字符。

在输出中,注意最后一行;输入字符串为空,因此输出也为空。

viewDidload

答案 1 :(得分:0)

试试这个(regular expression):

select regexp_substr ('sdss abc@gmail.com sdsda sdsds  ','[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}') email from dual