Feature request: RegEx search global modifier

In the example macro I uploaded above, I just need to get the Chinese characters.
In this particular case, I could have used a search and replace to delete all English letters and the Tabs. But as I said above, the original file has other Chinese characters and signs that I do not want to include. I only want to get the Chinese characters that are followed by a Tab + some English letters.

What does that mean? What are you going to do with the multiple search results if you don't want to use a For Each action to process them?
But I don't understand how a global regex search that returns multiple answers can work if you don't want to iterate through the answers to process each of them…?

I don't need to process each line individually. I need to use the found result as a string for further actions. In this case, I need to do a regex search in this string. I need to test if my selected characters exist in this string or not.

If I do a match iteratively line by line (more than 80,000 lines), it is much slower. But if I do a regex search in a string (a string with 80,000 lines), it is instant. Therefore, I need the result to become a string.

That is why in my python example, I have found all matches that are saved as a list, I still need to make the list into a string.

t = re.findall('\n([\u4e00-\u9fa5]+)\t\w', txt)
print('\n'.join(t))

This 80,000 line file is an extreme example. I only needed to do it once. I have saved the result into a named clipboard. But I do have another similar file. It has 600 lines now. This file will change. I need to do a RegEx search in this file every time, combine these two into a string. Then see if this string contains my selection. If it does, do something, if it does not, process my selection and append it to the now 600-line file. I need to do it quite often. It has grown from 0 lines to 600 lines.

To use the "For Each" action, I will just need to iteratively append each match + a linebreak to a variable. The result is the same as print('\n'.join(t)) in Python, using linebreak as the text delimiter.

In this case, I could use other text delimiters. But I imagine in some other cases, other text delimiters might be needed.

Take another case for example:

In this case, if two lines contain the same code, and all matches are needed. And we simply need to get all the matches joined by, say, 2 linebreaks (or whatever text delimiters). Now, we will need the "For Each" action to append the matches + user-defined-text-delimiter.

But, besides the much more time needed with the "For Each" action (if the original file is large, the difference becomes noticeable) an extra text delimiter will always be appended at the end of the result:

"match1"
text delimiter
"match2"
text delimiter
"match3"
text delimiter

What we want is probably

"match1"
text delimiter
"match2"
text delimiter
"match3"

Actually, I came up with this feature request when I was helping with this case. I suggested the "For Each" solution to the OP. But it got me thinking why a (?g) modifier is not supported.
For myself, I've already been using the Python code I mentioned above and I am satisfied with the instant speed (but I would love to see a native KM action available).