[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Suche GREP für Wörter mit Buchstaben UND Ziffern

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Suche GREP für Wörter mit Buchstaben UND Ziffern

Marc Sidon
Beiträge gesamt: 262

18. Apr 2017, 17:27
Beitrag # 1 von 14
Bewertung:
(5225 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
auch wenn ich Skripten kann wie ein Großer, befinde ich mich in puncto GREP leider immer noch im Anfänger-Modus.... :)

Kann mir jemand von Euch vielleicht helfen?
Ich suche einen GREP Ausdruck, der folgende Wörter findet:

"Ganzes Wort, mindestens 6 (maximal 20) Zeichen, davon mindestens ein Zeichen eine Zahl und mindestens ein Zeichen ein Grossbuchstabe, keine Kleinbuchstaben"

Code
ABC123 = ja 
123ABC = ja
123ABc = nein (enthält Kleinbuchstaben)
12ABC = nein (zu kurz, nur 5 Zeichen)
ABCABC = nein (nur Buchstaben)
ABCABC2 = ja
123123 = nein (nur Zahlen)
123123C = ja
123123C123123C123123C = nein (zu lang)



Vielen Dank im Voraus...
Gruß,
Marc Sidon
------------------------------------------

modernmediasidon
Erstellung von InDesign Scripts
X

Suche GREP für Wörter mit Buchstaben UND Ziffern

Kai Rübsamen
Beiträge gesamt: 4664

18. Apr 2017, 21:36
Beitrag # 2 von 14
Beitrag ID: #557076
Bewertung:
(5212 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marc,

irgendwie spinnt das Forum heute. Ich hatte meine Antwort schon mal um 19.00 gepostet. Egal. Versuch es mal so:

(?=\b[\u\d]{6,20}\b)(\u+\d+|\d+\u+)

Gruß Kai Rübsamen


als Antwort auf: [#557075]

Suche GREP für Wörter mit Buchstaben UND Ziffern

Gerald Singelmann
  
Beiträge gesamt: 6259

19. Apr 2017, 11:47
Beitrag # 3 von 14
Beitrag ID: #557077
Bewertung:
(5174 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@Kai

dein grep findet von ABC2ABC nur das ABC2

Ohne Geniestreich ist die Aufgabe m.E. nicht zu lösen. Mal schauen, ob mir einer einfällt ;)


als Antwort auf: [#557076]

Suche GREP für Wörter mit Buchstaben UND Ziffern

Gerald Singelmann
  
Beiträge gesamt: 6259

19. Apr 2017, 12:13
Beitrag # 4 von 14
Beitrag ID: #557080
Bewertung:
(5171 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gehen wir mal schrittweise vor, immer schwieriger werdend:

"Ein Wort zwischen 6 und 20 Zeichen darf nur aus Großbuchstaben und Ziffern bestehen"
Code
\b[\u\d]{6,20}\b 


"Ein Wort darf nur aus Großbuchstaben und Ziffern bestehen, muss aber mindestens einen Großbuchstaben enthalten"
Code
\b[\u\d]*\u[\u\d]*\b 


"Ein Wort darf nur aus Großbuchstaben und Ziffern bestehen, muss aber mindestens einen Großbuchstaben sowie mindestens eine Ziffer enthalten"
Daran scheitere ich schon, da die Reihenfolge offen ist. Es kann eine einsame Ziffer am Anfang oder am Ende stehen, das gleiche gilt für den Großbuchstaben.
Code
\b[\u\d]*\u[\u\d]*\d[\u\d]*\b 

...ist also keine Lösung, weil es 2ABCDEF und 123456A nicht findet.

Es braucht also einen ganz anderen Denkansatz


als Antwort auf: [#557075]

Suche GREP für Wörter mit Buchstaben UND Ziffern

Marc Sidon
Beiträge gesamt: 262

19. Apr 2017, 12:18
Beitrag # 5 von 14
Beitrag ID: #557081
Bewertung:
(5168 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wow,
bis hierhin schon mal tausend Dank für Eure Mühe...

Dass das sooo kompliziert ist, hätte ich nicht gedacht.
Kein Wunder, dass ich da mit meinem kleinen Köpfchen nicht mal eben auf eine Lösung komme...

@Gerald: Du hast natürlich Recht, ich hatte wohl noch ein paar Beispiel-Fälle vergessen, um meine textuelle Regel korrekt testen zu können...

@Kai: Die Website ist wohl umgezogen, daher die Probleme mit dem Forum...

Wie gesagt, schon mal vielen Dank bis hierher...
Ich suche auch fleißig weiter nach Lösungen.

Gruß,
Marc
------------------------------------------

modernmediasidon
Erstellung von InDesign Scripts


als Antwort auf: [#557080]
(Dieser Beitrag wurde von Marc Sidon am 19. Apr 2017, 12:23 geändert)

Suche GREP für Wörter mit Buchstaben UND Ziffern

Marc Sidon
Beiträge gesamt: 262

19. Apr 2017, 12:26
Beitrag # 6 von 14
Beitrag ID: #557082
Bewertung:
(5164 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also nochmal der Versuch einer Auflistung der Testfälle:

Code
ABC123 = ja  
123ABC = ja
123ABc = nein (enthält Kleinbuchstaben)
12ABC = nein (zu kurz, nur 5 Zeichen)
ABCABC2 = ja
123123C = ja
123123C123123C123123C = nein (zu lang)
ABC2ABC = ja
123A123 = ja
2ABCABC = ja
123123A = ja
1A2B3C = ja
ABCABC = nein (nur Buchstaben)
123123 = nein (nur Zahlen)

------------------------------------------

modernmediasidon
Erstellung von InDesign Scripts


als Antwort auf: [#557081]
(Dieser Beitrag wurde von Marc Sidon am 19. Apr 2017, 12:34 geändert)

Suche GREP für Wörter mit Buchstaben UND Ziffern

Gerald Singelmann
  
Beiträge gesamt: 6259

19. Apr 2017, 12:31
Beitrag # 7 von 14
Beitrag ID: #557083
Bewertung:
(5159 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
OK, anderer Denkansatz:


Wir suchen eine dieser 4 Varianten:

A....A
1....1
A....1
1....A

also: fängt an/hört auf mit Ziffer oder Buchstabe.

Die unteren beiden sind einfach, weil die Bedingung "mindestens" bereits durch Anfang und Ende abgefrühstückt ist.

Code
\b(\u[\u\d]{4,18}\d)|(\d[\u\d]{4,18}\u)\b 


A....A ohne Längenbegrenzung ist dann auch einfach.
Code
\b\u[\u\d]*\d[\u\d]*\b 


Wir haben dann
Code
\b(\u[\u\d]{4,18}\d)|(\d[\u\d]{4,18}\u)|(\u[\u\d]*\d[\u\d]*)|(\d[\u\d]*\u[\u\d]*)\b 


als nicht-ganz-Lösung, weil 1....A und A....1 keinen Längencheck haben.

Den da noch einzubauen, würde mit diesem Ansatz sehr umfangreich werden. Ich breche es mal in mehrere Zeilen auf:
Code
\b 
(?:\u[\u\d]{4,18}\d)
|
(?:\d[\u\d]{4,18}\u)
|
(?:\u\d[\u\d]{4,18})
|
(?:\d\u[\u\d]{4,18})
|
(?:\u\u\d[\u\d]{3,17})
|
(?:\d\d\u[\u\d]{3,17})
|
(?:\u\u\u\d[\u\d]{2,16})
|
(?:\d\d\d\u[\u\d]{2,16})
|
(?:\u\u\u\u\d[\u\d]{1,15})
|
(?:\d\d\d\d\u[\u\d]{1,15})
|
(?:\u\u\u\u\u\d[\u\d]{,14})
|
(?:\d\d\d\d\d\u[\u\d]{,14})
u.s.w
\b


Ich glaub, mit nem Script ginge es leichter.


als Antwort auf: [#557080]

Suche GREP für Wörter mit Buchstaben UND Ziffern

Marc Sidon
Beiträge gesamt: 262

19. Apr 2017, 12:41
Beitrag # 8 von 14
Beitrag ID: #557084
Bewertung:
(5156 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ok, Stop Stop.... :)

Ich habe nun eine Lösung!
Gerald, Du hast natürlich Recht, mit einem Skript ist wäre/ist es einfacher. Und ich habe von Anfang an falsch gedacht. Natürlich suche ich mit diesem GREP innerhalb eines Skriptes. Und mit einem Einfachen GREP, nämlich

Code
\b[A-Z0-9]{6,20}\b 


finde ich alle 6-20 Zeichen langen Wörter, die nur Zahlen und/oder Großbuchstaben beinhalten. Und alles, was ich DANN finde, teste ich im Skript, ob sich auch mindestens eine Zahl UND ein Großbuchstabe darin befindet.

Hätte ich die Information nicht unterschlagen, dass ich mich natürlich in einem Skript befinde, hättet Ihr mich wahrscheinlich sofort darauf gestoßen... SORRY!

Perfekt!!!
Ihr seid mal wieder die Besten!
Tausend Dank. Manchmal steht man (ICH) einfach auf dem Schlauch...

Gruß,
Marc
------------------------------------------

modernmediasidon
Erstellung von InDesign Scripts


als Antwort auf: [#557083]
(Dieser Beitrag wurde von Marc Sidon am 19. Apr 2017, 12:45 geändert)

Suche GREP für Wörter mit Buchstaben UND Ziffern

Kai Rübsamen
Beiträge gesamt: 4664

19. Apr 2017, 12:43
Beitrag # 9 von 14
Beitrag ID: #557085
Bewertung:
(5153 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gero, du denkst zu kompliziert ;-)

Antwort auf: als nicht-ganz-Lösung, weil 1....A und A....1 keinen Längencheck haben.


Der Längencheck passiert hier: (?=\b[\u\d]{6,20}\b)
Weil der Lookahead VOR dem Suchausdruck steht, kann der Ausdruck damit 2x durchsucht werden. Im ersten Lauf werden nur Stellen mit Großbuchstaben und Zahlen, begrenzt auf 6 bis 20 Zeichen gefunden. Im zweiten Lauf werden dann die Anforderungen weiter spezifiziert.

Also im Prinzip genau das, was man auch per Skript machen würde.

Der hier sollte auch zu Fuß funktionieren:
(?=\b[\u\d]{6,20}\b)(\u+\d+[\u\d]*|\d+\u+[\u\d]*)

Gruß Kai Rübsamen


als Antwort auf: [#557084]
(Dieser Beitrag wurde von Kai Rübsamen am 19. Apr 2017, 12:49 geändert)

Anhang:
Bildschirmfoto 2017-04-19 um 12.47.43.png (89.8 KB)

Suche GREP für Wörter mit Buchstaben UND Ziffern

Marc Sidon
Beiträge gesamt: 262

19. Apr 2017, 12:47
Beitrag # 10 von 14
Beitrag ID: #557086
Bewertung:
(5149 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Der hier sollte auch funktionieren:
(?=\b[\u\d]{6,20}\b)(\u+\d+[\u\d]*|\d+\u+[\u\d]*)


Wow, ja tut er!!! RESPEKT!

Kannst Du mir den Ansatz bitte kurz erläutern?
------------------------------------------

modernmediasidon
Erstellung von InDesign Scripts


als Antwort auf: [#557085]

Suche GREP für Wörter mit Buchstaben UND Ziffern

Kai Rübsamen
Beiträge gesamt: 4664

19. Apr 2017, 12:57
Beitrag # 11 von 14
Beitrag ID: #557087
Bewertung:
(5144 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Marc, ich hab meinen Beitrag oben noch einmal angepasst als du geschrieben hast.

Antwort auf: Und mit einem Einfachen GREP, nämlich \b[A-Z0-9]{6,20}\b
finde ich alle 6-20 Zeichen langen Wörter, die nur Zahlen und/oder Großbuchstaben beinhalten.


Richtig, das macht bei mir der:
\b[\u\d]{6,20}\b

Weil ich aber den gleichen String 2x durchsuchen möchte, darf ich nicht den Bereich sondern nur die Position finden, daher:
(?=\b[\u\d]{6,20}\b)


Antwort auf: Und alles, was ich DANN finde, teste ich im Skript, ob sich auch mindestens eine Zahl UND ein Großbuchstabe darin befindet.

(\u+\d+[\u\d]*|\d+\u+[\u\d]*)

Hier gibt es zwei Vorgaben:
1. entweder der Großbuchstabe ist vorne, mindestens 1x und dann können 5 Zahlen kommen oder
2. eine Zahl ist vorne, mindestens 1x und dann können Großbuchstaben kommen

Nicht bedacht hatte ich den Fall von Gerald, dass auch Zahlen und Buchstaben abwechselnd kommen können. Das löse ich dann mit [\u\d]*
Die runden Klammern sind nur Kosmetik und halten die Alternation visuell zusammen. Um die eckigen Klammern am Schluss nur 1x zu schreiben, ginge dann final auch das:

(?=\b[\u\d]{6,20}\b)(\u+\d+|\d+\u+)[\u\d]*

Gruß Kai Rübsamen


als Antwort auf: [#557086]
(Dieser Beitrag wurde von Kai Rübsamen am 19. Apr 2017, 13:10 geändert)

Suche GREP für Wörter mit Buchstaben UND Ziffern

Gerald Singelmann
  
Beiträge gesamt: 6259

19. Apr 2017, 14:40
Beitrag # 12 von 14
Beitrag ID: #557089
Bewertung:
(5103 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@Kai

Wow, wo hast du denn den Trick her, mit einem LookAhead einfach eine Position zu finden, aber der man neu formulieren kann?

Das ist wirklich cool.


als Antwort auf: [#557087]

Suche GREP für Wörter mit Buchstaben UND Ziffern

Kai Rübsamen
Beiträge gesamt: 4664

19. Apr 2017, 14:57
Beitrag # 13 von 14
Beitrag ID: #557092
Bewertung:
(5099 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hm, keine Ahnung. Ich kenne das schon länger. Evtl. vom Friedl oder von hier http://www.regular-expressions.info/

Gruß Kai Rübsamen


als Antwort auf: [#557089]

Suche GREP für Wörter mit Buchstaben UND Ziffern

Gerald Singelmann
  
Beiträge gesamt: 6259

19. Apr 2017, 18:09
Beitrag # 14 von 14
Beitrag ID: #557106
Bewertung:
(4961 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dann wirds der Friedl gewesen sein, denn die Site hatte ich seinerzeit auch studiert.

Nicht schlecht, Herr Specht.


als Antwort auf: [#557092]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/