use AppleScript version "2.4" -- Yosemite (10.10) or later
use framework "Foundation"
use scripting additions
set thePath to POSIX path of (path to desktop) -- whatever
my searchPath:thePath searchPredicate:"(kMDItemFSName CONTAINS [c]%@)" predicateArgs:{"find"} filterRegex:".*\\bfind\\b.*"
on searchPath:thePath searchPredicate:predString predicateArgs:argList filterRegex:filterRegexString
set thePred to current application's NSPredicate's predicateWithFormat:predString argumentArray:argList
set targetURL to current application's |NSURL|'s fileURLWithPath:thePath
set theQuery to current application's NSMetadataQuery's new()
theQuery's setPredicate:thePred
theQuery's setSearchScopes:{targetURL}
theQuery's startQuery()
repeat while theQuery's isGathering() as boolean
delay 0.01
end repeat
theQuery's stopQuery()
set theCount to theQuery's resultCount()
set theResults to current application's NSMutableArray's array()
repeat with i from 1 to theCount
set aResult to (theQuery's resultAtIndex:(i - 1))
set thePath to (aResult's valueForAttribute:(current application's NSMetadataItemPathKey))
(theResults's addObject:thePath)
end repeat
set thePred to current application's NSPredicate's predicateWithFormat:"lastPathComponent MATCHES[c] %@" argumentArray:{filterRegexString}
set theResults to theResults's filteredArrayUsingPredicate:thePred
return (theResults's sortedArrayUsingSelector:"compare:") as list
end searchPath:searchPredicate:predicateArgs:filterRegex: