Clausula de Kleene

Re: Clausula de Kleene

de Santiago Gongora -
Número de respuestas: 0
Hola Iván,

no, no se puede hacer eso. Si querés 5 números cualquiera seguidos, entonces la expresión regular r es (perdón por la redundancia, pero es para dejarlo claro):

 r= (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)

Hacer  (0|1|2|3|4|5|6|7|8|9)^* no sería válido, pues eso te daría una secuencia de 0 o más números. Particularmente sí que podés generar una secuencia de 5 números, pero también vas a tener secuencias de 4, de 6, de 8, de 135 y de ningún número (al generarse la tira vacía  \epsilon ).

Acordate que la definición de clausura de Kleene de un lenguaje L es:
  •  L^0 = \{\epsilon\}
  • L^i = L.L^{i-1}
  • L^* = \bigcup^\infty_0 L^i (intuición: L repetido contiguamente 0 o más veces)

Cualquier consulta a las órdenes,
Santi