miRNAs are indeed small non-coding RNAs. We can detect them by sequencing all RNAs in a given size range, map them to the corresponding genome, and look for the places where reads stack up in a pattern indicating that it's a miRNA precursor (basically: two stacks of reads with a given spacing, precise drop-off in read coverage that indicates precise Dicer processing, the resulting sequence folds into a stable hairpin)
That pattern may, however, also be found at sites generating other types of small structural RNAs, e.g. tRNAs. Removing all sites/sequences known to generating other types of structural RNAs is an efficient heuristic that will remove a lot of "false positives" that we would otherwise have to identify as "non-miRNAs" by close inspection of the data, or might miss altogether.
In a recent study where we detected miRNAs in a non-model organism (but with a sequenced genome), we did it as follows:
Abundant noncoding RNAs (rRNAs, tRNAs, snRNAs, and snoRNAs) were annotated to the N. vectensis genome using BLASTN (version 2.2.18) to identify homologs of
- Drosophila melanogaster annotated rRNAs, tRNAs, snRNAs, and snoRNAs (downloaded from FlyBase and GenBank),
- the most abundant rRNA variants found in previous studies involving sequencing of small RNAs (Ghildiyal et al. 2008; Seitz et al. 2008),
- Homo sapiens rRNAs, snRNAs, and snoRNAs (downloaded from GenBank, and the LBME human snoRNA database), and
- the complete set of tRNAs found in the Genomic tRNA database.
Genomic sequences with a significant BLAST hit (E-value < 10^-4) to any of those databases were flagged as "abundant noncoding RNAs," and deep-sequencing reads showing perfect identity to one of those were discarded.
excellent and well researched answer