Como estou estudando para o meu curso formal de idiomas, me deparei com esses posts fascinantes ( Um Dois ) que descrevem como encontrar um número primo usando uma expressão regular . Como eu disse, um regexp , não uma expressão regular . Como uma expressão regular pode corresponder a seqüências de caracteres calculadas por um autômato de estado finito e a descoberta de um número primo não pode ser feita por uma FSA, a regexp mostrada na postagem do blog não é uma expressão inteiramente regular, pois faz o retrocesso para corresponder à sequência.
Desde que eu realmente nunca usei nenhuma expressão regular, agora, minha pergunta:
Como posso reconhecer imediatamente um regexp de uma expressão regular "verdadeira" apenas olhando para ele?
Definições: Por expressão regular, refiro-me à noção definida em linguagens formais. Por regexp, quero dizer a noção suportada pelas linguagens de programação modernas; a sintaxe regexp geralmente contém recursos adicionais, como referências posteriores. Os regexps, como vistos nas linguagens de programação, são estritamente mais poderosos do que as expressões regulares no estilo das linguagens formais.