The Regex module is shown on the right. Interestingly, it has some check boxes which aren't displayed in the screenshot on the official documentation page. As described in an unofficial Yahoo Pipes wiki, the [s] check box causes the string to be treated as a single line, so that '.' will match a newline.
However, I was using String Regex rather than the main Regex module, and String Regex does not have those check boxes. Instead, as hinted at in the wiki, you must use an undocumented embedded format to give the single line option, and prefix the regular expression with (?s).
Similarly, you can use (?i) to do a case-insensitive search, (?m) to treat the string as multiple lines when using the "^" and "$" start and end characters, and (?x) to enhance the readability of the expression by allowing comments and white space. I don't know how to do a global search, as apparently (?g) does not work.
My final regular expression was
(?s)(.*?)p.*
which grabbed all text prior to the first paragraph tag, and discarded the remainder. Without the (?s) it would only operate on the text up to the first newline character. As a side note, the Chrome browser didn't want to enter the left round bracket into the replace text box, so I had to paste it in or use Firefox.Yahoo Pipes seems to be a somewhat unloved project of Yahoo. Its dedicated forums no longer seem to be operational, and its documentation is in need of improvement. However, despite this, I still found the Pipe I created to be a great, easy to understand and easy to maintain solution, so I'll still be considering Pipes when the need arises in future.