Italia
Foro

RegEx

 
- Page 1 -



Michael
W.
Irgendwie bin ich mit dem Umdefinieren des Ersatzzeichens in den regulären Ausdrücken nicht so glücklich.

Es wäre schön wenn die Ausdrücke so geschrieben werden könnten, wie überall anders auch...

Bekomme dies nicht zum laufen...
KompilierenMarkierenSeparieren
' maskierte Werte testen

Proc IsOk

    Parameters x%
    Return if(x%,"OK","nicht OK")

EndProc

Proc IsMask1'Datum

    ' erlaube nur "dd.mm.yyyy" (als Trenner aber "-","/",".")
    ' ungültiges Datum (z.B. 31.02.1999) wird nicht erkannt
    Parameters TestWert$
    var re$ = "([1-9]|[ 0][1-9]|[12][0-9]|3[01])[-/.](0[1-9]|1[012])[-/.](18|19|20|21)[0-9]{2}"
    Return if(match$(re$,TestWert$),1,0)

EndProc

Proc IsMask2'email

    ' EMail nach RFC 2822 (mit einigen speziellen TLDs)
    ' zum Testen auch eine super simple....
    Parameters TestWert$
    /*
    'ori:  [a-z0-9!#$%&'*+/=?^_'{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_'{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|asia|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel)\b
    var re$ = "(?i)[a-z0-9!#$%&'*+/=?^_'{|}~~-]+(~.[a-z0-9!#$%&'*+/=?^_'{|}~~-]+)*@([a-z0-9]([a-z0-9-]*[a-z0-9])?~.)+([A-Z]{2}|asia|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel)~b"
    */
    'TEST
    'ori:  \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}\b
    var re$ = "(?i)~b[A-Z0-9._%+-]+@[A-Z0-9.-]+~.[A-Z]{2,6}~b"
    'TEST
    Return if(match$(re$,TestWert$),1,0)

EndProc

cls
print "Masken testen\n"
Declare Test$
Print "Datum"
Test$ = "1.12.1999"
Print Test$;tab(15);IsOk(IsMask1(Test$))
Test$ = "25-12-2007"
Print Test$;tab(15);IsOk(IsMask1(Test$))
Test$ = "12-25-2007"
Print Test$;tab(15);IsOk(IsMask1(Test$))
Test$ = "/12/1999"
Print Test$;tab(15);IsOk(IsMask1(Test$))
Print "\nEMail"
Test$ = "john@aol...com"
Print Test$
Case IsMask2(Test$) : Print "  ";$Match
Print "  ";IsOk(IsMask2(Test$))
Test$ = "Mike\\ O'Dell@ireland.com"
Print Test$
Case IsMask2(Test$) : Print "  ";$Match
Print "  ";IsOk(IsMask2(Test$))
Test$ = "The email address president@whitehouse.gov is valid."
Print Test$
Case IsMask2(Test$) : Print "  ";$Match
Print "  ";IsOk(IsMask2(Test$))
waitinput
 href='./../../funktionsreferenzen/xprofan/end/'>end
 
XProfan X3
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
16.12.2014  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Michael
W.
Ich bin zwar immer noch circa das Ersatzzeichen unglücklich, aber der "simple" Fehler ist enttarnt...
KompilierenMarkierenSeparieren
' maskierte Werte testen
' (lauffähig)

Proc IsOk

    Parameters x%
    Return if(x%,"OK","nicht OK")

EndProc

Proc IsMask1'Datum

    ' erlaube nur "dd.mm.yyyy" (als Trenner aber "-","/",".")
    ' ungültiges Datum (z.B. 31.02.1999) wird nicht erkannt
    Parameters TestWert$
    var re$ = "([1-9]|[ 0][1-9]|[12][0-9]|3[01])[-/.](0[1-9]|1[012])[-/.](18|19|20|21)[0-9]{2}"
    Return if(match$(re$,TestWert$)<>"",1,0)

EndProc

Proc IsMask2'email

    ' EMail super simple....
    Parameters TestWert$
    'ori:  \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}\b
    var re$ = "(?i)~b[A-Z0-9._%+-]+@[A-Z0-9.-]+~.[A-Z]{2,6}~b"
    Return if(match$(re$,TestWert$)<>"",1,0)

EndProc

Proc IsMask3'email

    ' EMail nach RFC 2822 (mit einigen speziellen TLDs)
    Parameters TestWert$
    'ori:  [a-z0-9!#$%&'*+/=?^_'{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_'{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|asia|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel)\b
    var re$ = "(?i)[a-z0-9!#$%&'*+/=?^_'{|}~~-]+(~.[a-z0-9!#$%&'*+/=?^_'{|}~~-]+)*@([a-z0-9]([a-z0-9-]*[a-z0-9])?~.)+([A-Z]{2}|asia|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel)~b"
    Return if(match$(re$,TestWert$)<>"",1,0)

EndProc

cls
print "Masken testen\n"
Declare Test$
Print "Datum"
Test$ = "1.12.1999"
Print Test$;tab(15);IsOk(IsMask1(Test$))
Test$ = "25-12-2007"
Print Test$;tab(15);IsOk(IsMask1(Test$))
Test$ = "12-25-2007"
Print Test$;tab(15);IsOk(IsMask1(Test$))
Test$ = "/12/1999"
Print Test$;tab(15);IsOk(IsMask1(Test$))
Print "\nEMail simpel"
Test$ = "john@aol...com"
Print Test$
Case IsMask2(Test$) : Print "  ";$Match
Print "  ";IsOk(IsMask2(Test$))
Test$ = "Mike\\ O'Dell@ireland.com"
Print Test$
Case IsMask2(Test$) : Print "  ";$Match
Print "  ";IsOk(IsMask2(Test$))
Test$ = "The email address president@whitehouse.gov is valid."
Print Test$
Case IsMask2(Test$) : Print "  ";$Match
Print "  ";IsOk(IsMask2(Test$))
Print "\nEMail RFC 2822"
Test$ = "john@aol...com"
Print Test$
Case IsMask3(Test$) : Print "  ";$Match
Print "  ";IsOk(IsMask3(Test$))
Test$ = "Mike\\ O'Dell@ireland.com"
Print Test$
Case IsMask3(Test$) : Print "  ";$Match
Print "  ";IsOk(IsMask3(Test$))
Test$ = "The email address president@whitehouse.gov is valid."
Print Test$
Case IsMask3(Test$) : Print "  ";$Match
Print "  ";IsOk(IsMask3(Test$))
wa
t end
 
XProfan X3
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
16.12.2014  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.822 Views

Untitledvor 0 min.
Erhard Wirth14.06.2024
H.Brill07.12.2023
Michael W.31.07.2017
maroro15.03.2016
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

Michael W. (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie