Autor
|
Thema: Quantifizierer (1463 mal gelesen)
|
Nepumuk Mitglied Entwicklungsleiter
Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 07. Mai. 2007 09:35 <-- editieren / zitieren --> Unities abgeben:
Hi, wie muss ich das formulieren, wenn mindestens ein alphanummerisches Zeichen (ohne _) da sein muss, aber auch mehrere andere zulässig sind? So z.B. klappt das ja nicht: [a-zA-Z0-9 §%&]+ Denn da verlangt er ja diese Zeichen. Vielen Dank schon mal für's lesen. ------------------ Gruß Nepumuk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bst Mitglied
Beiträge: 192 Registriert: 31.08.2004
|
erstellt am: 07. Mai. 2007 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für Nepumuk
Morgen Max, Teile das auf in 2 Ausdrücke r (Kann) und s (Muss) r=[a-zA-Z0-9§%&], s=[a-zA-Z0-9] a) und nimm r*sr*, also hier in etwa sowas: Code: [a-zA-Z0-9§%&]*[a-zA-Z0-9][a-zA-Z0-9§%&]*
b) oder nimm einen positiven Lookahead hinzu (?=r*s)r+, i.e.: Code: (?=[a-zA-Z0-9§%&]*[a-zA-Z0-9])[a-zA-Z0-9§%&]+
Gruß, Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Nepumuk Mitglied Entwicklungsleiter
Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 07. Mai. 2007 11:04 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, ich werde es heute Abend mal testen, dann melde ich mich wieder. Zitat: b) oder nimm einen positiven Lookahead hinzu (?=r*s)r+, i.e.:
In VB ohne Jendarrex, da ich die beim Kunden nicht installieren darf? ------------------ Gruß Nepumuk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bst Mitglied
Beiträge: 192 Registriert: 31.08.2004
|
erstellt am: 07. Mai. 2007 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für Nepumuk
|
Nepumuk Mitglied Entwicklungsleiter
Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 07. Mai. 2007 11:13 <-- editieren / zitieren --> Unities abgeben:
|
Nepumuk Mitglied Entwicklungsleiter
Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 08. Mai. 2007 13:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, nochmal Danke, die ersten Test sind erfolgreich gewesen. So sieht das ganze nun fertig aus: Code: Public Function TOOLS_Verify_Filename(strFilename As String) As Boolean '// @description verify that a interfacename has the correct format '// @cdate 2007_05_08 '// @mdate 2007_05_08 '// @certificat {8A410EBD-D3F7-41EB-B6EB-59018946C4B7} Const PROCEDURENAME = "TOOLS_Verify_Filename" If TRACE_FLAG Then Call LOGGER_Log_Trace(PROCEDURENAME) If gblnWorkflag Then On Error GoTo ErrorHandling Dim objRegEx As Object, objMatch As Object '//initialize regex Set objRegEx = CreateObject("VBScript.RegExp") With objRegEx .Global = True .Pattern = "[a-zA-Z0-9 !§$%&=+#,;\.\-]*[a-zA-Z0-9][a-zA-Z0-9 !§$%&=+#,;\.\-]*_\d{4}_\d{2}_\d{2}_Version_\d{3}\.xls" .IgnoreCase = True Set objMatch = .Execute(strFilename) End With If objMatch.Count = 1 Then TOOLS_Verify_Filename = objMatch.Item(0).Length = Len(strFilename) Exit Function '//error handling ErrorHandling: Call ERRORHANDLING_Error_Handler(Err, PROCEDURENAME, Erl) End Function
------------------ Gruß Nepumuk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |