Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Regular Expressions Knobelaufgabe

Mitglied: problemsolver

problemsolver (Level 2) - Jetzt verbinden

09.06.2006, aktualisiert 12.06.2006, 8857 Aufrufe, 11 Kommentare

Überprüfung einer Artikelnummer mit Hilfe von Regular Expressions

Hallo zusammen,

ich bräuchte dringend einmal Hilfe bzgl. Regular Expressions.
Und zwar soll ein String auf Richtigkeit geprüft werden.

---
Stringbeispiele: audi123, halter001B, db 2032B, hein022wab, bmw 12345ABC
---

Folgende Rahmenbedingungen:
1.) Der String darf nur die Zeichen A-Z, a-z und 0,9 und das Leerzeichen enthalten.
2.) Die maximale Länge des Strings darf 14 Zeichen nicht überschreiten.
3.) Der String muss mit mindestens 2 Buchstaben (s.o.) anfangen und danach dürfen maximal 4 weitere Buchstaben folgen. Also minimal 2 Buchstaben und maximal 6 Buchstaben. Das Auffüllen mit Leerzeichen bis zur 5.ten Stelle ist erlaubt. (Zum Beispiel "db<leer><leer>2032B"
4.) Nach den Buchstaben müssen mindesten 3 Zahlen (zum Beispiel 001) folgen, maximal dürfen es 5 sein.
5.) Nach den Zahlen dürfen Buchstaben folgen, ist aber nicht zwingend. Die maximale Buchstabenanzahl beträgt hier also von 0 bis 3.

Wer kann mir hieraus einen Regexp-Ausdruck entwickeln, damit ich den String auf Richtigkeit überprüfen kann?

Vielen Vielen Dank schon einmal im Voraus!

Gruß

Markus
Mitglied: 6890
11.06.2006 um 22:19 Uhr
hallo,

so nach viertelstündiger anspornphase und buchlesens hab ichs (das denke ich zumindest) hinbekommen:

^[a-zA-Z]{2,6}[\s]{0,3}[\d]{3,5}[a-zA-Z]{0,3}$

ich denke das dürfte es sein

ohh das muss ich dazusagen das sind jetzt perl regex!!

mfg godlike P
Bitte warten ..
Mitglied: Biber
11.06.2006 um 22:39 Uhr
Hm...so weit war ich gestern auch schon.... aber was sich nicht sicherstellen lässt, ist die Bedingung mit den max. 14 Zeichen Länge.
Da habe ich beim Knobeln keinen Weg gefunden, das sicherzustellen.

^[a-zA-Z]{2,6} ....max. 6 Zeichen erlaubt,
....[\s]{0,3} ......+max. 3 Leerzeichen macht 9
...[\d]{3,5} .... plus 3 bis 5 Ziffern macht 14
...[a-zA-Z]{0,3}$ ............-->und nach den 14 dürfen noch 3 kommen.... *grml*

Habe gestern an dieser Stelle abgebrochen und lieger ein paar Sudokus gemacht.
Oder wie immer diese leckeren Grillwürstchen heißen.

Gruß und danke fürs Posten
Biber
Bitte warten ..
Mitglied: 6890
11.06.2006 um 22:53 Uhr
[EDIT]

siehe unten

[/EDIT]
Bitte warten ..
Mitglied: 6890
11.06.2006 um 23:10 Uhr
so aba jetzt nach langem knobeln:

^[a-zA-Z]{2}[a-zA-Z\s]{0,4}[\d]{3,5}[a-zA-Z]{0,3}$

wenns das ni is weiß ich och ni!!!!

schönen abend

godlike P
Bitte warten ..
Mitglied: problemsolver
11.06.2006 um 23:20 Uhr
Was haltet Ihr hiervon?

^([a-z]{2}[\s]{2}|[a-z]{3}[\s]{1}|[a-z]{4}|[a-z]{6})([0-9]{3,7})([a-z]{0,3})$

ich denke mal, dass das die Lösung ist... habe dann noch einige Seiten und Foren gewälzt.
Es scheint zu funktionieren... Was sagt Ihr dazu?

Danke für eure Antworten

Lieben Gruß

Markus
Bitte warten ..
Mitglied: Biber
11.06.2006 um 23:36 Uhr
Nö, das isses nich...

^[a-zA-Z]{2}[a-zA-Z\s]{0,4}[\d]{3,5}[a-zA-Z]{0,3}$
...denn dann könnten nach den ersten zwei Nur-Buchstabenzeichen anschließend 0-4 Zeichen mit (Buchstaben und Leerzeichen) in beliebiger Reihenfolge kommen.

Also z.B "VW TDI 001x"

^[a-zA-Z]{2}[a-zA-Z]{0-4}[\s]{0,2}[\d]{3,5}[a-zA-Z]{0,3}$

wobei leider wieder die Restriktion 14-Zeichen-maximal auf der Strecke bleibt.
Ich scheitere auch daran, dass ich keine gültige Syntax hinbekomme, die die Bedingungen
(0 bis 4 Buchstaben gefolgt von 0 bis 3 Leerzeichen) UND (alles zusammen aber max 4 Zeichen lang)
kombiniert.
Evtl ginge ^[a-zA-Z]{2}([a-zA-Z]{0-4}|[\s]{0,2})[\d]{3,5}[a-zA-Z]{0,3}$ ??

Gruß
Biber
Bitte warten ..
Mitglied: 6890
11.06.2006 um 23:46 Uhr
also mit deinem geht zb das db 2032B ni, den du berücksichtigst nicht das nur 1 leerzeichen sein darf deswegen und ohne angeben zu wollen

meins funktioniert!!!!

^[a-zA-Z]{2}[a-zA-Z\s]{0,4}[\d]{3,5}[a-zA-Z]{0,3}$

mfg godlike P
Bitte warten ..
Mitglied: problemsolver
12.06.2006 um 08:27 Uhr
Hallo zusammen,

ich find's super, dass ihr euch so sehr dafür einsetzt.
Folgendes nochmal vielleicht zur Verdeutlichung:

Unsere Artikelnummer ist wie folgt aufgebaut:

erste Variante:
BB(BB) ZZZ(ZZ) (BBB)

Bei den ersten B's MÜSSEN zwei Buchstaben stehen und werden bis 4 mit Leerzeichen aufgefüllt.
Ergo: 2 Buchstaben 2 Leerzeichen/ 3 Buchstaben 1 Leerzeichen / 4 Buchstaben 0 Leerzeichen.
Danach folgt entweder 012 oder 1234 oder 10021 (also min 3 Zahlen und max 5 Zahlen).
Danach folgen optional noch BUchstaben. (mind. 0 und max 3 Buchstaben)

Die zweite Variante, die mitgeprüft werden muss, sind 6 Buchstaben am Anfang, wie folgt:
BBBBBB ZZZ(ZZ) (BBB) = 14 Zeichen maximal

Ich habe gerade nochmal bei uns die dementsprechenden Leute in der Firma gefragt:
Einen Artikel mit 5 Buchstaben am Anfang gibt es nicht. (Also dementsprechend von 2 bis 4 oder 6 Buchstaben am anfang)

Jetzt frag bitte keiner nach der Logik Hat sich im Laufe der Jahre halt bei uns so entwickelt...

Vielen Dank für eure tatkräftige Unterstützung

Gruß

Markus
Bitte warten ..
Mitglied: 6890
12.06.2006 um 08:53 Uhr
morsche,
also:
Bei den ersten B's MÜSSEN zwei Buchstaben stehen

^[a-zA-Z]{2}

und werden bis 4 mit
Leerzeichen aufgefüllt.

[\s]{4}|

Ergo: 2 Buchstaben 2 Leerzeichen

([a-zA-Z]{2}[\s]{2}|

3 Buchstaben 1 Leerzeichen

[a-zA-Z]{3}[\s]{1}|

4 Buchstaben 0 Leerzeichen.

[a-zA-Z]{4})

Danach folgt entweder 012 oder 1234 oder

[0-9]{3,5}

Danach folgen optional noch BUchstaben.
(mind. 0 und max 3 Buchstaben)

[a-zA-Z]{0,3}$

Die zweite Variante, die mitgeprüft
werden muss, sind 6 Buchstaben am Anfang,
wie folgt:
BBBBBB ZZZ(ZZ) (BBB) = 14 Zeichen maximal

^[a-zA-Z]{2}([a-zA-Z]{4}|


das ergibt als reg_ex:

^[a-zA-Z]{2}([a-zA-Z]{2}[\s]{2}|[a-zA-Z]{3}[\s]{1}|[a-zA-Z]{4}|[\s]{4})[0-9]{3,5}[a-zA-Z]{0,3}$


Vielen Dank für eure tatkräftige
Unterstützung

Bidde

mfg godlike P
Bitte warten ..
Mitglied: Biber
12.06.2006 um 10:12 Uhr
Jepp, godlike,

das könnte es nun wirklich sein.

Allerdings würde ich diese Zeile nur dann in produktive Sourcen einbauen, wenn auch Deine gesamte Herleitung als Kommentar darüber steht.. das kann sonst nicht gewartet werden.
Anders ausgedrückt: in 3 Monaten, beim Wieder-Angucken, hat auch der Autor eine halbe Stunde nötig, um die Zeile wieder nachzuvollziehen.

Eine Urlaubsvertretung dagegen würde wahrscheinlich sofort vom Balkon springen....

Gruß
Biber
Bitte warten ..
Mitglied: 6890
12.06.2006 um 10:23 Uhr
Allerdings würde ich diese Zeile nur
dann in produktive Sourcen einbauen, wenn
auch Deine gesamte Herleitung als Kommentar
darüber steht..


wenn das gewollt is, mit der herrleitung, dann bin ich natürlich so freundlich und schreib die noch.

einfach bescheid sagen

mfg godlike P
Bitte warten ..
Ähnliche Inhalte
Entwicklung

Benötige Hilfe bei Regular Expression

gelöst Frage von Thomas91Entwicklung6 Kommentare

Hallo, ich benötige hilfe bei einem Regularen Ausdruck: dieser sollte wenn möglich ohne /ig auf zwei Zeilen einen treffer ...

Entwicklung

Regular Expression für Finanz

gelöst Frage von DocuSnap-DudeEntwicklung10 Kommentare

Hallo, kann mir jemand kurz helfen: ich brauche für Eingabefelder in einer .NET-basierten Maske einen speziellen Software (hintendran eine ...

Batch & Shell

Sehr kniffliges Problem - Powershell regular expression :-(

gelöst Frage von internet2107Batch & Shell7 Kommentare

Aus einem Messgerät fließen eine bestimmte Anzahl von Daten durch Messungen. Wegen der ggf. Masse an Dateien, importieren wir ...

PHP

Regular Expressions für unsere Color-Tags: Wer kann es lösen?

gelöst Frage von FrankPHP5 Kommentare

Hi, ich benötige bei unseren Regular Expressions mal etwas Hilfe. Der Color-Code in der Textformatierung funktioniert leider nicht einwandfrei. ...

Neue Wissensbeiträge
CMS
Webinar: Multimandanten System
Information von corinnar vor 6 StundenCMS

Hallo an alle Open Source CMS-Interessenten, Magnolia und unymira leiten am 5. Juli ein Webinar zur Erstellung von Multimandanten ...

Windows Server
DP mit Benutzerdatenträger und VDS-SAN-policy
Tipp von lcer00 vor 1 TagWindows Server3 Kommentare

Hallo zusammen, ich habe gerade einen halben Tag mit Recherche zu dem Thema hinter mir und endlich ein Ergebnis. ...

Internet

Europa baut Zensurinfrastruktur auf: EU-Parlament stimmt für Upload-Filter, Leistungsschutzrecht und gegen KI-Forschung

Information von Frank vor 4 TagenInternet11 Kommentare

Eine sehr schlechte Entscheidungen für die Zukunft Europas ist gefallen: Der Rechtsausschuss im EU-Parlament stimmte heute morgen in einer ...

Windows 10

Mikrofon von Headset geht nach Update auf Windows 10 1803 nicht mehr

Tipp von Deepsys vor 6 TagenWindows 103 Kommentare

Ich verwende ein Plantronics Headset das per USB mit dem Windows 10 PC verbunden ist. Damit kann ich auch ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Sophos UTM 110 120 in Betrieb nehmen und IP Adresse am Cisco Switch herausfinden
Frage von KabuntelLAN, WAN, Wireless13 Kommentare

Hallo, ich mache in Rahmen meiner Umschulung zum Fachinformatiker - Systemintegration ein Praktikum. Gestern hat mir mein Chef gleich ...

LAN, WAN, Wireless
Netzwerkverkehr bei WLAN-Repeater immer über Router?
Frage von ahussainLAN, WAN, Wireless12 Kommentare

Hallo, beim Einsatz eines WLAN-Repeaters baut dieser ja ein eigenes Funknetz auf. Mich würde interessieren, ob der Netzwerkverkehr immer ...

Datenbanken
Informationssystem, Hilfedatenbank für Privathaushalt
Frage von PeterleBDatenbanken11 Kommentare

In meinem Einfamilienhaus haben sich in den Jahren viele Technologien (Netzwerk, Funkbedienungen, internetbasierte Fernsteuerungen und Kontrollsysteme etc.) vor allem ...

Windows 10
Was ist der "Windows Namespace" und warum UNC? Sophos Fehler
Frage von Ex0r2k16Windows 1011 Kommentare

Huhu, bei jeden regulärem Virenscan auf einem einzigen Client erhalte ich einen wilden False Positive (produkey): Datei "C:\Windows\CSC\v2.0.6\namespace\UNC Pfad ...