Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1560to1564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

RegEx-perte gefragt

RegEx-perte gefragt
30.05.2017 12:46:26
Nepumuk
Hallo,
ich hab einen Dateinamen zu prüfen. Beispiele:
FSS_Name_Vorname_01-01-1955.xlsm
FSS_Name Name_Vorname_01-01-1955.xlsm
FSS_Name_Vorname Vorname_01-01-1955.xlsm
FSS_Name Name_Vorname Vorname_01-01-1955.xlsm
Das Datum ist variabel aber immer im selben Format. Folgendes Pattern funktioniert im RegEx - Coach aber nicht in Excel:
FSS_\w+\s?\w+?_\w+\s?\w+?_\d{2}-\d{2}-\d{4}.xlsm
Kann mir dabei jemand helfen?
Gruß
Nepumuk

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Korrektur
30.05.2017 12:56:25
Nepumuk
Hallo,
mit dem:
FSS_Name_Vorname_01-01-1955.xlsm
funktionierts.
Gruß
Nepumuk
AW: Korrektur
30.05.2017 13:40:38
EtoPHG
Hallo Nepumuk (Max?),
Mit deinen Beispielen (incl. Pattern) funktionieren alle mit (WAHR):
Function myRegEx(TextInput As String, regexPattern As String) As Boolean
Dim regEx As New RegExp
Dim matches
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = regexPattern
End With
If regEx.Test(TextInput) Then
Set matches = regEx.Execute(TextInput)
myRegEx = (matches(0).Value = TextInput)
End If
End Function
Gruess Hansueli
AW: Korrektur
30.05.2017 16:12:02
Nepumuk
Hallo,
hab den Fehler gefunden \w repräsentiert in Excel nur a-z ich hatte aber Umlaute im Namen.
so Geht's: "FSS_[\wäöüß]+[\s-]?[\wäöüß]+?_[\wäöüß]+[\s-]?[\w+äöüß]+?_\d{2}-\d{2}-\d{4}.xlsm"
Gruß
Nepumuk
Anzeige
AW: etwas aufgelöst
30.05.2017 13:48:25
Fennek
Hallo,
da es eine unterschiedliche Anzahl von Namen gibt,löst folgender Code zumindest den Anfang und das Ende auf und prüft auf Groß- und Kleinschreibung.

Sub Fen()
Range("B1:B4").Clear
With CreateObject("vbscript.regexp")
.Global = True
.Pattern = "FSS_[A-Z][a-z]+[\s|_][A-Z][a-z]+.*?_\d{2}-\d{2}-\d{4}\.xlsm"
'.Pattern = "FSS_.*" 'ok
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Tx = Cells(i, "A").Value
If .test(Tx) Then Cells(i, 2) = True
Next i
End With
End Sub
mfg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige