Pergunta

Considere as seguintes expressões regulares:

  1. 7+
  2. (7)+

Alguém que está muito familiarizado com a teoria regular da expressão em matemática concorda que as duas expressões regulares são semanticamente as mesmas?

Foi útil?

Solução

Sim, essas duas expressões regulares são iguais porque ambas reconhecem o mesmo idioma. O fato de eles não serem escritos de forma idêntica é apenas uma questão notacional.

Outras dicas

Programaticamente (como em avaliado pelo mecanismo de expressão regular de um idioma) ele difere apenas no captura de grupos resultante.

Fora isso, eles são iguais. É como escrever ((7) + (1)) por oposição como 7 + 1. Elas avaliar são os mesmos. (Sim, matematicamente falando, idiomas regulares não avaliam nada)

Eles descrevem o mesmo idioma? Sim. Eles significam a mesma coisa para alguém que está tentando interpretar o idioma? Não. O segundo me diz que eu deveria estar mais interessado nos 7s.

O segundo reduz a primeiro. Você concorda que

 ab+

e

 a(b)+

e

 (ab)+

são semanticamente diferentes?

A única diferença é que os parens atribuem o padrão fechado a um grupo para que você possa fazer referência a esse pequeno pedaço após a avaliação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top