For example (?<=This is)(.*)(?=sentence) [Regexr][1] I used lookbehind `(?<=)` and look ahead `(?=)` so that "This is" and "sentence" is not included in the match, but this is up to your use case, you can also simply write `This is(.*)sentence`. The important thing here is that you activate the "dotall" mode of your regex engine, so that the `.` is matching the newline. But how you do this depends on your regex engine. The next thing is if you use `.*` or `.*?`. The first one is greedy and will match till the last "sentence" in your string, the second one is lazy and will match till the next "sentence" in your string. **Update** [Regexr][2] This is(?s)(.*)sentence Where the (?s) turns on the dotall modifier, making the `.` matching the newline characters. **Update 2:** (?<=is \()(.*?)(?=\s*\)) is matching your example "This is (a simple) sentence". See here on [Regexr][3] [1]: http://regexr.com?2tr28 [2]: http://gskinner.com/RegExr/?2tr2n [3]: http://regexr.com?2tr5t