Expressões Regulares com multiplas linhas

Alguém sabe como fazer que uma expressão regular entenda a quebra de linha?

Assim, eu tenho o seguinte texto:

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:s="http://jboss.com/products/seam/taglib"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:fn="http://java.sun.com/jsp/jstl/functions">

E eu preciso selecionar a seguinte parte:

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<ui:composition

Como fazer isso com regex? Porque o problema é fazê-la pular de linha até achar o delimitador.

http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

Pattern.MULTILINE não faz o truque?

Então, mas eu preciso excecutar a regex na caixa de pesquisa do eclipse, porque isso vai ser aplicado num lote.

Eu uso a regex para encontrar o texto e depois para fazer uma substituição. Como são várias dezenas de arquivos e isso vai ficar também na documentação, eu preciso descobrir a regex para fazer isso.

Por isso não estou usando java. Porém, a sua dica é válida, porque não está descartada a possibilidade de fazer um programinha para isso.