Похоже, что вы используете метод, который возвращает каждое совпадение в строке с заданным регулярным выражением. В этом случае вам необходимо привязать регулярное выражение к началу строки, чтобы оно не возвращало каждое совпадение, а только первый:
^.*?<p>.*?</p>
Используйте скобки, чтобы захватить то, что вы хотите захватить.
PS: здесь идет стандарт «избегайте использования регулярных выражений для разбора HTML, используйте правильный HTML-парсер». Это простое регулярное выражение завершится с ошибкой для вложенных <p>
разделов (которые я не помню, если они действительны в HTML, но, тем не менее, вы можете получить их, даже если они не верны).