Seite 1 von 1

Dialog Eingaben mit Regulären Ausrdücken überprüfen möglich?

Verfasst: Di, 14.02.2012 15:47
von MikeRo
Hallo und wieder eine Frage zu der ich über google und Forensuche keine Lösung finde.

Ist es möglich über Reguläre Ausdrücke eingaben in Dialogfeldern zu überprüfen?
Es geht speziell um Telefonnummern, ich möchte diese in einem bestimmten Format haben.

Nämlich so: +49-1111-22222-333
Hier der passende Filterausdruck

Code: Alles auswählen

/^\+[1-9][0-9]+-[1-9][0-9]+-[1-9][0-9]+(-[0-9]+)?$/
Kann man das irgendwie realisieren?

Re: Dialog Eingaben mit Regulären Ausrdücken überprüfen mögl

Verfasst: Di, 14.02.2012 16:04
von bst
Hi,

dieses sollte sich entsprechend umbauen lassen.

HTH, Bernd
--

Code: Alles auswählen

Sub Main
	MsgBox reFind("abc def ghi 1234 jklm 5678 nop", "[0-9]{4}")
End Sub

Function reFind(ByVal sText As String, ByVal sPattern As String) As String
	Dim aSrcOpt As New com.sun.star.util.SearchOptions
	
	oTextSearch = CreateUnoService("com.sun.star.util.TextSearch")
    With aSrcOpt
    	.searchFlag = com.sun.star.util.SearchFlags.REG_EXTENDED
        .algorithmType = com.sun.star.util.SearchAlgorithms.REGEXP
        .searchString = sPattern
	End With
    oTextSearch.setOptions(aSrcOpt)

	aRes = oTextSearch.searchForward(sText, 0,Len(sText)-1 )
    If aRes.subRegExpressions > 0 Then
		i = aRes.subRegExpressions - 1
        reFind = Mid(sText, aRes.startOffset(i) + 1, aRes.endOffset(i) - aRes.startOffset(i))
	Endif
End Function