Match case insensitive multiple strings in array with AND logic

Hello,

I saw a somewhat related post on this but does not answer the question I have.
Here is the statement:
I have an array of strings containing reference data.
The search query is typed by the user. It is split into an array of string, separated by white spaces.
I want to know if the strings in the query array all match case insensitively the reference data array.

let referenceData = ["Bobby", "John", "Ringo", "Elton"]
let searchQuery_1 = "Bob jo" (result would be true)
let searchQuery_2 = "Rin John" (result would be true)
let searchQuery_3 = "exton John" (result would be false)

let splitQuery_1 = searchQuery_1.split(separator: .space)
I would like to write: referenceData.containsInsensitive(splitQuery_1)

Perhaps I should go with regular expression instead of some built-in functions of the Standard Library

I know how to do it with one word at a time but not for an array of words.
One word at a time:
referenceData.contains{$0.localizedStandardContains(query)}

Thanks for any input,
A