Don't have much experience in Python, so I can't directly answer your question. But if you want the substring starting with the match, why don't you just match the rest of the string OR remove everything before the match.
Example 1:
Match foreign currenc(y|ies)
followed by every other character in the String. I used the s
modifier so that the dot matches new lines as well.
foreign\s+currenc(?:y|ies).*
Example 2:
Replace this expression with an empty String. This will lazily match everything up until the lookahead of foreign currenc(y|ies)
is matched.
.*?(?=foreign\s+currenc(?:y|ies))
Note: I changed (currency|currencies)
to currenc(?:y|ies)
because it is slightly more efficient.