Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firbird 3.0 - E-Mail-Adresse per Substring und RegEx auslesen (https://www.delphipraxis.net/190466-firbird-3-0-e-mail-adresse-per-substring-und-regex-auslesen.html)

colaflasche 6. Okt 2016 16:17

Datenbank: Firebird • Version: 3.0 • Zugriff über: API

Firbird 3.0 - E-Mail-Adresse per Substring und RegEx auslesen
 
Hallo Zusammen,

Firebird 3.0 kann ja mittlerweile mit der Substring-Funktion RegEx.
Nun möchte ich aus einem String eine E-Mail-Adresse auslesen.

Dieses SQL liefert mir nun schon einen gewissen Anteil:
Code:
select substring('asd m.2-e@hoM3e.de asd' similar '%#"[_a-zA-Z0-9-.]+@[_a-zA-Z]+#"%' escape '#') from rdb$database
nämlich "m.2-e@hoM".

Er liest nun hoM, da ich im Teil für die domain keine Zahlen abfrage. Ergänze ich nun mein Pattern, das es dies tut, erhalte ich die Meldung 'Invalid SIMILART TO pattern'

Code:
%#"[_a-zA-Z0-9-.]+@[_a-zA-Z0-9]+#"%
Wobei der Teil ja quasi genau so aufgebaut ist, wie der Lokalteil.

Was muss ich machen um hier noch die Zahlen mitzubekommen?

bra 6. Okt 2016 16:43

AW: Firbird 3.0 - E-Mail-Adresse per Substring und RegEx auslesen
 
Dein Regex hat kein TLD (.de, .com).

http://emailregex.com/
http://www.regular-expressions.info/email.html

colaflasche 9. Okt 2016 13:15

AW: Firbird 3.0 - E-Mail-Adresse per Substring und RegEx auslesen
 
Dessen bin ich mir bewusst, ich habe auch eine RegEx in petto, die diese beinhaltet. Aber wenn ich beim Firebird noch nicht mal Lokalteil + @ + Domain hinbekomme, dann mache ich mir um die TDL noch keine Gedanken.

bra 10. Okt 2016 10:04

AW: Firbird 3.0 - E-Mail-Adresse per Substring und RegEx auslesen
 
Edit: Nein, sorry, das war Quatsch was ich geschrieben habe :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz