Pergunta

Eu tenho uma lista de tamborilar com base wild card em um arquivo XML. Se a cadeia de entrada corresponde ao padrão presente no documento XML, em seguida, uma ação específica será tomada.

Eu fiz encontrar a abordagem mencionada aqui http://www.codeproject.com/ KB / receitas / wildcardtoregex.aspx mas, nesse caso, eu preciso criar um objeto de RegEx para cada entrada no XML que estou tentando evitar.

Deixe-me saber se há alguma maneira melhor de fazer pesquisa curinga em .net

Foi útil?

Solução

Se você deseja avaliar cada teste padrão em você documentar para o jogo contra a cadeia de entrada, você terá que criar uma RegEx para cada padrão, como você menciona. Não há nenhum atalho.

Eu acho que você se preocupar com a perfomance. Tem certeza que é um problema? Se assim for, você deve tentar encontrar uma abordagem completamente diferente.

Você vai coincidir com muitas cadeias de entrada? Nesse caso, você deve manter seus Regexes (em uma lista, por exemplo), em vez de criá-los cada vez. Regexes podem ser reutilizados.

Caso contrário, não vejo grande problema com a sua abordagem proposta.

Outras dicas

É a maneira passado minha hora de dormir, então eu pode soar peculiar sobre esta resposta.

Parece-me que você tem coisas configurar o caminho errado: Você está combinando uma cadeia de entrada com uma lista de padrões. Logicamente, você deve estar combinando cada padrão na lista contra a cadeia de entrada e determinar uma correspondência. Deve ser bastante simples para a construção de um conjunto de padrões Regex por analisar o arquivo XML. Depois, você pode iterar através da matriz e combinar cada Regex contra a sua cadeia de entrada.

Além disso, Por que você precisa wildcards em tudo? Wildcards pode ser considerado um subconjunto de Regex e assim você já tem toda a funcionalidade de correspondência de curinga encapsulado dentro do objeto Regex.

Dito isso, mais dados sobre o tipo de entrada / wildcards podem ser úteis para entender sua pergunta.

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