| |
|
|
Nico Madysa | Ab XProfan10 gibt es den Befehl Match$, avec dem geprüft wird, si un Sting einem certain Muster entspricht, alors z.B. d'abord un Großbuchstabe venez, ensuite 3 Kleinbuchstaben, un Leerzeichen et après 3 Les chiffres. j'ai ici einiges gesammelt avec einem kleinen Beispielprogramm: KompilierenMarqueSéparationDef $Name "[A-ZÄÖÜ]([a-zäöü]+|~.)(~-[A-ZÄÖÜ]([a-zäöü]{2,}|~.))* [A-ZÄÖÜ]([a-zäöü]+|~.)(~-[A-ZÄÖÜ]([a-zäöü]{2,}|~.))*"
Def $Time "((0|1|)[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?"
Def $Vorw "[1-9][0-9]{1,4}"
Def $Telnum "[1-9][0-9]{4,7}"
Def $Url "(https://)?(www~.)?[^@|²³.]{1,}(~.[^@|²³ .]{2,3}){1,3}"
Def $Street "([A-Z][a-z]{2,}~.? )+(0[1-9][0-9]*|[1-9][0-9]*)"
Def $Plz "[0-9]{5} [A-Z][a-z]{2,}"
Def $RoemM "M*"
Def $RoemC "(C[DM]|C[DM]|D?C{0,3})?"
Def $RoemX "(X[LC]|X[LC]|L?X{0,3})?"
Def $RoemI "(I[VX]|I[VX]|V?I{0,3})?"
Declare E& , T& , Roem$ , Addr$ , Tel$ , XTel$
Roem$ = "^" + $Roemm + $Roemc + $Roemx + $Roemi + "$"
Addr$ = "^" + $Name + "(
|[,;] )" + $Street + "(
|[,;] )" + $Plz + "$"
Tel$ = "^(0"+$Vorw+"/)?"+$Telnum+"$"
XTel$ = "^((~+49 ("+$Vorw+"|~(0"+$Vorw+"~))|0049 "+$Vorw+"|~(0049 "+$Vorw+"~)|0"+$Vorw+"|~(0"+$Vorw+"~)) )?"+$Telnum+"$"
+49 30 12345678
+49 (030) 12345678
0049 30 12345678
(0049 30) 12345678
030 12345678
(030) 12345678
12345678
Window 300 , 200 - 200 , 200
Cls External("User32","GetSysColor",15)
E& = Create("MultiEdit",%Hwnd,"",5,05,180,(-20))
T& = Create("Text",%Hwnd,"",5,30,180,160)
Whilenot IsKey(27)
Waitinput
Match$(XTel$,Gettext$(E&))<- Addr$ durch zu testende Konstante/Variable ersetzen
If %Matchpos >= 0
Settext T& , $Match
Else
Settext T& , "ungültig"
Endif
Wend
$nom = prénom + nom de famille Doppelnamen sommes mittels Bindestrich possible $Time = hh:mm ou bien hh:mm:ss $URL = Internetadresse, z.B. [...] malheureusement aussi www.de $Street = Straßenname + numéro d'habitation, z.B. Str. des Friedens 1 $PLZ = Postleitzahl + lieu, z.B. 02979 Burghammer Roem$ = Römischess Zahlzeichen, z.B. CXVII Addr$ = komplette Adresse, par Chr$(13), Komma ou bien Semikolon getrennt. Tel$ = Festnetznummer, aussi avec Vorwahl possible, z.B. 011111/99999 XTel$ = Avancé Festnetznummer, folgende Formate sommes possible: +49 30 12345678 +49 (030) 12345678 0049 30 12345678 (0049 30) 12345678 030 12345678 (030) 12345678 12345678 Kritik et attitude sommes ausdrücklich erwünscht. |
|
|
| |
|
|
|
Clemens Meier | PLZ toujours avec einer 0 beginnend? tant pis, mon ville wird ausgeschlossen |
|
|
| |
|
|
|
Michael Wodrich | TelefonNr allez pas: 0451/...
weil[quote-part:fa121d580d] Capture 0 Any character dans 1-9 Exactly 5 times / Fin Capture ? (zero or one time) Any character dans 1-9 Exactly 5 times [/quote-part:fa121d580d] url allez aussi pas
[quote-part:fa121d580d]Capture [...] Fin Capture ? (zero or one time) Capture www~ . (any character) Fin Capture ? (zero or one time) Any character not dans @|²³~ ~ ~. + (one or more times) ~ . (any character) Any character not dans @|²³~ ~ At least 2, but not more than 3 times Capture ~ . (any character) Any character not dans @|²³~ ~ At least 2, but not more than 3 times Fin Capture ? (zero or one time) [/quote-part:fa121d580d] et so plus
PLZ
[quote-part:fa121d580d]0 Any character dans 1-9 Exactly 4 times (space) Any character dans A-Z Any character dans a-z At least 2 times [/quote-part:fa121d580d] Kontrolliert avec The Regulator - freie Version
[...] [...] |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 10.06.2006 ▲ |
|
|
|
|
Nico Madysa | alors je suis oui déjà la fois glücklich, dass chez den römischen payons aucun faute aufgetaucht sommes.(qui avons mich presque dans den WAHNSINN getrieben!). [quote-part:9180e9b2ca] PLZ toujours avec einer 0 beginnend? tant pis, mon ville wird ausgeschlossen [/quote-part:9180e9b2ca] Sorry, je suis en ausgegangen, PLZs begännen grundsätzlich avec einer 0.
[quote-part:9180e9b2ca] TelefonNr allez pas: 0451/... [/quote-part:9180e9b2ca] cela selbe dans vert. dans den Minuten des Zusammenschreibens ging je en aus, Vorwahlen hätten grundsätzlich 5 Les chiffres.(je hatte simple un Brett vorm tête.)
@ Michael: Dein Regulator berücksichtigt pas, dass dans den regülären Ausdrücken de XProfan cela Tilde(~) cela Escape-marque ist et pas qui Backslash(). chez mir hat url funktioniert, abgesehen de qui Macke, dass aussi w w w . d e comme URL durchgeht. (j'ai w w w . d e gesperrt, avec cela pas stattdessen cet [...] angezeigt wird.)
ici ist maintenant une überarbeitete Version: KompilierenMarqueSéparationDef $Name "[A-ZÄÖÜ]([a-zäöü]+|~.)(~-[A-ZÄÖÜ]([a-zäöü]{2,}|~.))* [A-ZÄÖÜ]([a-zäöü]+|~.)(~-[A-ZÄÖÜ]([a-zäöü]{2,}|~.))*"
Def $Time "((0|1|)[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?"
Def $Tel "(0[1-9][0-9]{2,3}/)?[1-9][0-9]{6}"
Def $Url "(https://)?(www~.)?[^@|²³~~~.]{1,}(~.[^@|²³~~~.]{2,3}){1,3}"
Def $Street "([A-Z][a-z]{2,}~.? )+(0[1-9][0-9]*|[1-9][0-9]*)"
Def $Plz "[0-9]{5} [A-Z][a-z]{2,}"
Def $Roemm "M*"
Def $Roemc "(C[DM]|C[DM]|D?C{0,3})?"
Def $Roemx "(X[LC]|X[LC]|L?X{0,3})?"
Def $Roemi "(I[VX]|I[VX]|V?I{0,3})?"
Declare E& , T& , Roem$ , Addr$
Roem$ = "^" + $Roemm + $Roemc + $Roemx + $Roemi + "$"
Addr$ = "^" + $Name + "(
|[,;] )" + $Street + "(
|[,;] )" + $Plz + "$"
Window 300 , 200 - 200 , 200
Cls External("User32","GetSysColor",15)
E& = Create("MultiEdit",%Hwnd,"",5,05,180,(-20))
T& = Create("Text",%Hwnd,"",5,30,180,160)
Whilenot Iskey(27)
Waitinput
Match$(Addr$,Gettext$(E&))<- Addr$ durch zu testende Konstante/Variable ersetzen
If %Matchpos >= 0
Settext T& , $Match
Else
Settext T& , "ungültig"
Endif
Wend
EDIT: Habe maintenant cette Beitrag editiert, là je à cause de einem faute pas encore alles nochmal reinstellen voulais. merci à Clemens pour qui Richtigstellung meiner Vorstellung de Telefonnummern. ;D |
|
|
| |
|
|
|
Clemens Meier | déjà beim Überfliegen erneut une faute gesehen chez qui numéro de téléphone. qui Vorwahl 07402 wäre pour deinem Ausdruck pas possible.
Richtig, qui 0 steht à erster Stelle. à 2. Stelle 1-9, après payons de 0-9
Musst alors den Ausdruck et avec ca erweitern.
chez dem Hauptanschluß analog, à erster Stelle 1-9, après payons de 0-9:
Def $Tel (0[1-9]{3,4}/)?[1-9]{5} ist alors faux (et trop kurz hinten, mon passt là déjà pas rein) Richtig ou bien zum mindest besser: Def $Tel (0[1-9][0-9]{2,3}/)?[1-9][0-9]{6}
Weitere mögliche faute dürfen eh bien aussi autre chercher |
|
|
| |
|
|
|
| Folgende Angabemöglichkeiten pour Telefonnummern sommes typisch:
je prends maintenant fois le Berliner Vorwahl 030
+49 30 12345678 +49 (030) 12345678 0049 30 12345678 (0049 30) 12345678 030 12345678 (030) 12345678 12345678
Oft genutzte Sonderzeichen in Teleangaben sind +-()[] /. |
|
|
| |
|
|
|
Clemens Meier | qui 4. variante kannte je pas. mais en tout un bon Ansatz um une kompletten Ausdruck trop formulieren. |
|
|
| |
|
|
|
| [quote-part:926ddf29a9=Clemens Meier]qui 4. variante kannte je pas. mais en tout un bon Ansatz um une kompletten Ausdruck trop formulieren.[/quote-part:926ddf29a9] tu as déjà droite - qui 4. variante ist plutôt selten, mais vorhanden: [...] |
|
|
| |
|
|
|
RGH | Aussi mets sich toujours plus qui internationale Schreibweise avec Bindestrich par:
+49-30-1234567 +4930-1234567
ou bien gar sans alle Trennzeichen (wird volontiers aussi chez Handynummern verwandt):
+49301234567
pas trop oublier qc qui Versionen avec 00 statt +.
Am besten sollte on Leerzeichen, Bindestriche et Klammern simple ausfiltern. Es könnten oui chez Nenenstellenanlagen encore weitere Bestandteile folgen:
+49-30-123456-78
Salut Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 12.06.2006 ▲ |
|
|
|
|
Michael Wodrich | Habe beim Regulator wohl pas konvertiert??!?
mais cela peux on oui de main nachholen. chez qui Prüfung fällt incidemment sur, cela on pas avec den runden Klammern so herumwerfen sollte. qui avons nämlich une entier klare eigene Funktion.
qui regulären Ausdrücke alors s'il te plaît sans qui runden Klammern.
belle Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 13.06.2006 ▲ |
|
|
|
|
Clemens Meier | [quote-part:3a4ca13962=Michael Wodrich] qui regulären Ausdrücke alors s'il te plaît sans qui runden Klammern. [/quote-part:3a4ca13962] Verstehe je pas, comment peux on reguläre Ausdrücke sans runde Klammern erstellen. qui sommes un absolutes Muss um sogenannte Subpattern trop bilden. |
|
|
| |
|
|
|
Michael Wodrich | Richtig, qui nom fiel Je ne so vite un... |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 13.06.2006 ▲ |
|
|
|