How do you find an infinite regular language that is a subset of a non-regular language?
Note that any non-regular language is infinite, since any finite language is regular.

Instead of searching for infinite regular subset in some given non-regular language, why don't we try to construct a non-regular language that contains an infinite regular language?

To do that we can take some context-free language, which is not regular, e.g. classical $a^nb^n, n \ge 0$, and "add" some infinite regular language to it. By "add" I mean the union operation on sets.

I should notice that one has to be careful while "adding" an infinite regular language to a non-regular one, since $L(a^nb^n) \cup \Sigma^* = \Sigma^*$, which is obviously regular.

So let's take a regular language $L(a^*)$, which has only one string in common (the empty string) with $L(a^nb^n), n \ge 0$ as our candidate "addition".

It's easy to prove the language $L(a^*) \cup L(a^nb^n), n \ge 0$ is non-regular (context-free). And its regular subset $L(a^*)$ is infinite.