Français
Source/ Codesnippets

quelques Match Suchmuster

 

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éparation
Def $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.
 
Nico Madysa
09.06.2006  
 




Clemens
Meier
PLZ toujours avec einer 0 beginnend? tant pis, mon ville wird ausgeschlossen
 
XProfan 9.1; XP SP2; FF; Editpad
10.06.2006  
 




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éparation
Def $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
 
Nico Madysa
12.06.2006  
 




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
 
XProfan 9.1; XP SP2; FF; Editpad
12.06.2006  
 



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 +-()[] /.
 
12.06.2006  
 




Clemens
Meier
qui 4. variante kannte je pas. mais en tout un bon Ansatz um une kompletten Ausdruck trop formulieren.
 
XProfan 9.1; XP SP2; FF; Editpad
12.06.2006  
 



[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:  [...] 
 
12.06.2006  
 




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.
 
XProfan 9.1; XP SP2; FF; Editpad
13.06.2006  
 




Michael
Wodrich
Richtig, qui nom fiel Je ne so vite un...
 
Programmieren, das spannendste Detektivspiel der Welt.
13.06.2006  
 




Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

11.349 Views

Untitledvor 0 min.
RudiB.28.08.2022
Walter03.12.2020
Andre Rohland08.09.2018
Peter Max Müller23.11.2017
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie