RegEx Segmente ein- und ausschließen

Ein wenig verbessert.
Im Gegensatz zu Spyke prüfe ich nicht auf "EM" anstatt "BIT", sondern:
Entweder BIT gefolgt von min. einem Nicht-Ziffer-Zeichen
Oder NICHT BIT, aber beginnend mit einem Nicht-Ziffer-Zeichen
Code:
(COM-)(ALM\d*_)(BIT\D.*|(?!BIT)\D.*)
Findet z.B. auch:
COM-ALM2_EM1000_1
COM-ALM2_AZIrgendwas_1
 
Hallo Zvoni,

gefunden werden soll, wenn:
ALM und nachfolgend eine ein/zweistellige Zahl 0 - 99 im Text enthalten ist.
Wenn dies der Fall ist, darf keine Kombination aus BIT und nachfolgender ein/zweistelliger Zahl enthalten sein. BIT ohne nachfolgende Zahl darf enthalten sein.
Ebenfalls darf enthalten sein BIT und einer Zahl die mit Nicht Ziffer Zeichen verbunden sind.

Kompliziert.

Vielen Dank.
Gruß CopWorker
 
Hallo Zvoni,

gefunden werden soll, wenn:
ALM und nachfolgend eine ein/zweistellige Zahl 0 - 99 im Text enthalten ist.
Wenn dies der Fall ist, darf keine Kombination aus BIT und nachfolgender ein/zweistelliger Zahl enthalten sein. BIT ohne nachfolgende Zahl darf enthalten sein.
Ebenfalls darf enthalten sein BIT und einer Zahl die mit Nicht Ziffer Zeichen verbunden sind.

Kompliziert.

Vielen Dank.
Gruß CopWorker
OK, den letzten habe ich jetzt nicht verstanden
Ebenfalls darf enthalten sein BIT und einer Zahl die mit Nicht Ziffer Zeichen verbunden sind.
Beispiel?
 
Hallo Zvoni,

dort wo der Pfeil drauf zeigt.

match.Success == true
COM-ALM2_BIT_1 <-----
COM-ALM2_BIT
COM-ALM2_AZIrgendwas_1
COM-ALM3_NameBIT
COM-ALM3_BITName
COM-ALM3_Name

match.Success == false
COM-ALM2_BIT1
COM-ALM2_BIT15
COM-ALM11_BIT7
COM-ALM11_BIT11
OM-ALM_BIT1
COM-ALM_Name

Da gerate ich selber durcheinander. Kopfkino.

Vielen Dank
Gruß CopWorker
 
Hallo Zvoni,

ist es noch möglich, dass ich die Anzahl der Stellen der Zahl nach dem "BIT" bestimmen könnte?

(COM-)(ALM\d{1,2}_)(BIT$|BIT\D.*|(?!BIT)\D{1,2}.*)

{1,2} kenn ich aber nur in Zusammenhang mit "\d" wie "(ALM\d{1,2}_)("

match.Success == true
COM-ALM11_BIT113

match.Success == false
COM-ALM11_BIT11


Gruß CopWorker
 
Och Menno.....
jetzt ist auf einmal eine (mindestens?) dreistellige Zahl direkt hinter BIT zulässig?
Falls exakt 3-stellig das Komma in {3,} wegnehmen.
\d{3,} besagt mindestens 3 Ziffern
Findet beides
COM-ALM11_BIT113
COM-ALM11_BIT1134
Code:
(COM-)(ALM\d{1,2}_)(BIT$|BIT\d{3,}$|BIT\D.*|(?!BIT)\D.*)
regex101: build, test, and debug regex
 
Zurück