Expressões regulares

Atualmente estou trabalhando com URL rewriting, mais especificamente, migrando as regras do IIRF para o ISAPI Rewrite.

Esses módulos para o IIS trabalham com regras parecidas com o mod_rewrite do Apache.

Esses módulos funcionam escrevendo regras em expressões regulares para que a URL seja reescrita.

Estou migrando porque o IIRF causa muitos crashes no pool do IIS. Não consegui descobrir por que. Migramos para o ISAPI Rewrite e o problema sumiu. Acredito que seja algum bug no IIRF ou nas regras que tínhamos no IIRF.

Me deparei com algumas regras um pouco difíceis de imaginar quais URL casam. Exemplos:

  • ([^\?]*[A-Z]+[^\?]*)(\?.*)?
  • ([^/\?]+)/(\?.*)?

Então encontrei essa ferramenta abaixo, que serve para mostrar exemplos de strings que casam com a expressão regular de entrada. Eu costumo gerar vários exemplos para ter idéia de strings opcionais que podem casar também.

http://fent.github.com/randexp.js/

Vale a pena usar com expressões mais complexas.

Abraços