There is method .findFirst, so it finds the 1st occurence, no next or all occurences.
Sub findCopyPaste
dim oDoc as object, oDesc as object, oFound as object, data as object, oDoc2 as object
oDoc=ThisComponent
oDesc=oDoc.createSearchDescriptor
with oDesc
.SearchString="[:print:]{1,100} / [:digit:]{1,100} / [:digit:]{1,4}"
.SearchRegularExpression=true
end with
oFound=oDoc.findFirst(oDesc)
if NOT isNull(oFound) then 'something is found
oDoc.CurrentController.Select(oFound) 'Select
data=oDoc.currentController.getTransferable 'Copy
oDoc2=StarDesktop.LoadComponentFromUrl("private:factory/swriter", "_blank", 0, array()) 'new document
oDoc2.CurrentController.insertTransferable(data) 'Paste
end if
End Sub