Mi scusi, ma quello che tutte le chiamate impossibile è chiaramente un realizzabili compito. Non sarà in grado di dare risultati per TUTTI gli esempi, e forse non i risultati migliori, ma puoi dargli vari suggerimenti e renderà la vita facile. Seguiranno alcuni esempi.
Anche un'uscita leggibile che traduca il risultato sarebbe molto utile. Qualcosa di simile:
- "Cerca: una parola che inizia con una lettera non numerico e termina con la stringa: 'Ing.'
- o: Cerca: testo che ha bbb in esso , seguito da qualche parte da zzz
- o: * Cerca: un modello che sembra così "aa/bbbb/cccc" dove "/" è un separatore, "aa" è di due cifre, "bbbb" è una parola di qualsiasi la lunghezza e "cccc" sono quattro cifre tra 1900 e 2020 *
Forse potremmo creare un "traduttore posteriore" con un tipo di linguaggio SQL per creare espressioni regolari, invece di crearlo in modo geek.
Ecco alcuni esempi che sono fattibile:
class Hint:
Properties: HintType, HintString
enum HintType { Separator, ParamDescription, NumberOfParameters }
enum SampleType { FreeText, DateOrTime, Formatted, ... }
public string RegexBySamples(List<T> samples,
List<SampleType> sampleTypes,
List<Hint> hints,
out string GeneralRegExp, out string description,
out string generalDescription)...
regex = RegExpBySamples({"11/November/1999", "2/January/2003"},
SampleType.DateOrTime,
new HintList(HintType.NumberOfParameters, 3));
regex = RegExpBySamples("123-aaaaJ-1444",
SampleType.Format, HintType.Seperator, "-");
Un'interfaccia grafica in cui si contrassegna il campione di testo o inserire, aggiungendo alla regex sarebbe possibile anche. Prima si contrassegna una data (il "campione"), e si sceglie se questo testo è già formattato, o se si sta costruendo un formato, anche quale tipo di formato è: testo libero, testo formattato, data, GUID o Scegli .. da formati esistenti (che è possibile memorizzare in una libreria).
Consente di progettare una specifica per questo e renderla open source ... Chiunque desidera partecipare?
Possibile duplicato di [È possibile che un computer "impari" un'espressione regolare con esempi forniti dall'utente?] (Https://stackoverflow.com/questions/616292/is-it-possible-for-a- computer-to-learn-a-regular-expression-by-user-provided-e) –