You can use:
s='this is a sample\n text. This symbol | shows what I am talking about.\nThis is \n another | sample'
>>> print re.findall(r'\n([^|\n]*)\|', s);
[' text. This symbol ', ' another ']
This regex captures literal \n followed by a negation pattern that says:
([^|\n]*) which means match 0 or more of any character that is NOT pipe or newline. Square brackets are used for capturing it in a group which will be printed later in findall output. It matches a literal | in the end.
Or else using lookaheads:
>>> print re.findall(r'(?<=\n )[^|\n]*(?= +\|)', s);
['text. This symbol', 'another']
(?<=\n ) is a lookbehind that means match should be preceded by newline and a space
(?= +\|) is a lookahead that means match should be followed by a space and pipe.
\na literal character or newline character?