Crie um regex que aceite uma string regex como entrada e verifique se é válido. Basicamente, seu regex deve poder se validar. (Qualquer regex inválido não deve ser validado, portanto você não pode usá-lo .*
.;)
Seu sabor deve ser totalmente suportado por implementações conhecidas (Perl, sed, grep, gawk, etc.) e deve suportar totalmente o que essas implementações suportam. [Não se preocupe com o advogado falar; Estou apenas tentando remover possíveis brechas para os espertos.]
Eu daria um código de golfe , mas estou preocupado que isso dê vantagem a quem conhece e usa sabores que não são ricos em recursos. Ou minhas preocupações são infundadas?
code-challenge
code-golf
code-golf
game
sudoku
code-challenge
math
ai-player
code-challenge
sorting
rosetta-stone
code-challenge
code-challenge
programming-puzzle
code-golf
number
code-golf
maze
code-golf
math
regular-expression
code-golf
sequence
code-golf
graph-theory
code-golf
string
word-puzzle
natural-language
brainfuck
metagolf
optimized-output
fastest-algorithm
code-golf
game-of-life
cellular-automata
code-golf
puzzle-solver
grid
code-golf
combinatorics
binary-tree
popularity-contest
code-challenge
code-golf
ascii-art
kolmogorov-complexity
brainfuck
metagolf
code-golf
c
date
code-golf
word-puzzle
crossword
word-search
code-golf
code-golf
quine
code-golf
string
random
Mateen Ulhaq
fonte
fonte
Respostas:
Rubi
Tentei igualar a sintaxe real do sabor de regex de Ruby, tanto quanto possível, mas existem algumas peculiaridades: ele aceita alguns lookbehinds que são realmente inválidos (like
(?<=(?<!))
) e reconhece intervalos de caracteres vazios comoD-A
. O último pode ser corrigido para ASCII, mas o regex é longo o suficiente.Versão ilegível:
fonte