A particular firing pattern among simultaneously observed neurons represents a particular sequence of activity. If any multineuron pattern repeats significantly more than expected by chance, we may be observing a repeated state of a neural assembly as it processes similar units of information. We present here an algorithm that rapidly finds all single or multineuron patterns that repeat two or more times within a block of data, as well as equations for calculating the number of patterns of given length and repetition that would be expected. The complexity of patterns for which it is practical to compute expected numbers is three to six spikes (inclusive). Confidence limits are based on these expected numbers of patterns, so that it is possible to identify groups of patterns that are worthy of further analyis. These methods are tested against simulated multineuron data that has various types of known nonstationarities, with good agreement between observed and expected values. Application to real spike trains shows a large excess of observed repeating patterns, of which some, but not all, are shown to be due to bursts of high frequency firing. It should be possible to apply the new method as a filter in real time in order to search for an association between repeated pattern events and externally observable events (stimulus, behavior, etc.). Any repeated pattern events which cannot be so associated may represent a new indicator of internal events in the nervous system.