Start, Element?, (Sep,Element)*, End
The example below matches a Prolog list of integers:
?- phrase(sequence(("[",blanks),
number, (",",blanks),
(blanks,"]"), L),
`[1, 2, 3 ] a`, Tail).
L = [1, 2, 3],
Tail = [32, 97].