Many text markup languages are regular or nearly regular: [troff][1]-style markup is regular. I think [Markdown][2] would be regular if links were always specified inline (as is required in comments). [Wikipedia markup][3] was regular for a while and still is for the most part. HTML is mostly regular. The subset of HTML in which no element may be directly nested or nested within itself is regular, as far as I can see; if this limitation were imposed on today's web, we wouldn't really lose any power. For sites that work with nested tables, let's allow tables to be nested three or four deep. The resulting restricted HTML describes nearly 100% of all (valid) web documents, and it is regular. What makes using regular expressions for matching fragments of HTML a bad idea is HTML's pervasive reliance on matching pairs to identify subfragments (*begin tag - end tag, begin comment - end comment, begin quote - end quote*), but only allowing *unlimited* nesting depth of such pairs makes HTML nonregular, and while HTML allows that, it is rarely used and not really needed. [1]: https://en.wikipedia.org/wiki/Troff [2]: http://cstheory.stackexchange.com/help/formatting [3]: https://en.wikipedia.org/wiki/Help:Wiki_markup