Stick with me. This all makes sense I promise. Google when it indexes your content pages, does not just look at words, but proximity of words, phrases, language, style usage, and so forth. They do this for each page and each site and over time, certain patterns begin to emerge. You may, without realizing it, use a phrase that is heavily Germanic that is common for your area in, say, the U.S. and Google will recognize this and understand it for what it is. Google will index each word, then the proximity of each word, then the phrases including some you never knew existed.
Since the days of Google Scholar, and trust me when I say the AI (artificial intelligence) behind scholar and what has been added since is immense, has made language recognition far more sophisticated. Google understands your content in ways unimaginable.
Google uses the same technology when a user searches. Let's keep it simple though.
A user enters a search into Google. Google reads the search terms from left to right because for most of us that is how we learned to read and hence we think that way. There are exceptions for this of course and Google can account for the exceptions. Google then assigns an importance metric to each word higher from left to lower to the right. Google then applies a phrase recognition pattern match and usage order to the search terms based upon search history and patterns found in the index and can optionally increase the importance metric of each word and in effect reordering the search based upon the metric. This covers issues with phrases being used one way here, and another way in another place in the world. Google will recognize any phrase no matter what and account for it.
So to use your example, assuming your site performs well for knitting patterns, any search would return in the search engine results page (SERP) the pages with phrase usage first since the importance metrics have been raised to recognize the phrase then single word matches after the better phrase matches are exhausted. You can easily recognize this in searches you perform. So knitting patterns will rank higher in the SERPs because it is a recognized and commonly used phrase and then likely knitting then patterns according to the importance metrics assigned from left to right (both search and content usage) unless the user searches for patterns knitting (which is not likely) in which case patterns could be returned before knitting or possibly reordered back to knitting patterns because the search order does not match common usage in content.
The only effect on ranking would be if you used patterns knitting and the world uses knitting patterns. This is because exact matches are often shown first.
I should also add that only some HTML tags are taken into account during indexing content. These are header tags and paragraphs and breaks or any other tag that helps recognize content format rather than content display. Search engines want to understand you content much like it was written in a formatted text editor such as wordpad. In your case, any span tag would be ignored when a search engine indexes the content because it does not signal format but rather display.