Software per la creazione visiva di espressioni regolari?


17

Spesso ho bisogno di creare espressioni regolari da utilizzare negli script (soprattutto quando usato in sed), tuttavia, trovo, a volte le espressioni regolari diventano molto complicate e difficili da comprendere e modificare per me. Esiste un software che consente di creare visivamente il codice per le espressioni regolari, che posso quindi copiare e incollare in uno script?

Risposte:


9

Che ne dici di Visual Regexp ?

http://laurent.riesterer.free.fr/regexp/screenshot2.png


Che cosa usi?
enzotib,

1
Non io, questo è un link diretto dalla homepage del progetto. Ma sembra fvwm che era popolare alla fine del 1990: s. Sentiti libero di confrontarti con qualcosa del genere fvwm.org/screenshots/desktops/Helmuth_Schmelzer-1366x768/… , non ho idea di quale sia lo stato fvwm oggi (ma è usato per essere molto stabile prima che kde e gnome fossero inventati).
Johan,

1
Le decorazioni delle finestre sono direttamente fuori da Motif, che da allora è stato portato / copiato in altri gestori di finestre. it.wikipedia.org/wiki/Motif_Window_Manager
Arcege


4

Prova txt2regex e vedi se questo aiuta. Non l'ho mai usato sul serio, ma sembrava bello quando l'ho provato.



2

Non è esattamente ciò che richiede l'OP - ma penso che sia pertinente, quindi incrocerò il Post Raccomandazione per l'editor Regex? # 549107 - Chiedi a Ubuntu :

Ecco il mio tentativo di uno strumento GUI di regex visiva, chiamato visRegexTester.py:

Ha una "anteprima dal vivo" ("Riesecuzione automatica") se si digita e si modifica il campo "regex". Altrimenti è solo quel singolo file; c'è un commento README all'inizio - ecco un frammento di esso:

visRegexTester è una piccola applicazione GUI Python / Tkinter che aiuta a scrivere espressioni regolari; testato con Python 2.7 e 3.2. In realtà, è semplicemente un'interfaccia per altri programmi da riga di comando: sfrutta il fatto che molti programmi Unix / GNU / Linux usati come processori regex nel terminale (ad es grep. sed, perl) Hanno una sintassi della riga di comando simile in tre parti:

(PROGRAMMA - ARGS) ('REGEX') (NOME FILENO)

... guarda il resto per di più. Lo screenshot:

visRegexTester_01.png


1

Sì, text2re.com dovrebbe essere vicino a quello che stai cercando. Dato il testo sorgente, puoi scegliere di generare una regex che corrisponda a uno qualsiasi del testo dato. Lo strumento genera anche un codice per una manciata di lingue.

L'interfaccia utente di regex builder (passaggio 2 nella pagina) è leggermente difficile da imparare; nota che passando con il mouse sopra una qualsiasi delle opzioni spiega l'oggetto a cui stai abbinando:

UI dello strumento regex


0

Non sono del tutto sicuro di cosa intendi per "creare visivamente il codice" (intendi uno strumento GUI?). Se sei come me, trovo impossibile lavorare con espressioni regolari complesse, a meno che non le disponga in modo strutturato, in modo da ottenere una migliore rappresentazione visiva della logica.

In realtà, sedè solo un linguaggio di scripting e può essere strutturato come altre lingue, ad es. con un comando per riga. Ecco un tipico esempio di cosa intendo: una sedge regex che mostra un layout strutturato .

Una caratteristica molto utile di sedè il suo comando di debugl , che è un semplice dump di riga che mostra lo spazio del modello con le nuove linee incorporate mostrate come \n, ecc.

Il problema con sednon sono solo le espressioni regolari. Ha un set criptico di comandi stravaganti per il looping e il test delle condizioni; questo richiede tempo per abituarsi a ... Lo strumento migliore che abbia mai trovato per aiutarmi a gestire sedè semplicemente: ho letto il manuale in dettaglio .. Da ciò, è solo un processo di avvio di piccole dimensioni e di ottenere il cose semplici che funzionano; poi costruisci cose più grandi per fare esperienza ..

Perl regex ha alcune funzioni utili per aiutare a delineare schemi complessi; per esempio. la capacità di ignorare gli spazi bianchi nella tua espressione .. (Come una sfida e per il fattore esperienza , ho scritto un sedparser per analizzare il mio sedcodice per consentire tale spazio bianco ... PS. Non ne ho bisogno ora; a causa dell'esperienza :) In realtà solo la disposizione dei comandi, uno per riga, è quasi buona quanto la funzione perl.

Lo strumento migliore per aiutarti è: esperienza . per esempio. Affrontare le domande regex su questo sito è un ottimo modo per ottenere quell'esperienza ... Sento che gli strumenti della GUI non aiutano molto, perché inibiscono l' esperienza ...

In sintesi, i migliori strumenti di supporto sono l' esperienza e il layout strutturato e la lettura del manuale (in dettaglio).

Ho usato molto la parola "expereince" ... con questo intendo che l'atto di preparare espressioni regolari (e nel caso di sedqualsiasi logica di loop ecc.) È il fattore chiave .. Tipo "Regex-Builder" utensili; non scrivere la regex per te; lo testano solo e certamente non gestiranno la logica del programma sed , perché non è una regex .. (e lo hai individuato in modo specifico sed) ... L'evidenziazione della sintassi che possono offrire non fa molto per me . Un editor con una buona corrispondenza delle parentesi è piuttosto utile (io uso emacs) ..


Penso che non faccia male se hai uno strumento per test ed esperimenti facili. (emacs re-builder)
favadi

1
L'ho usato emacs re-buildere non mi ha aiutato affatto ... non è passato il primo giorno ... Tutto ciò che mi ha mostrato è che emacsha bisogno di una o più barre rovesciate, a causa di come Emacs valuta le cose ... Puoi fare lo stesso test valutando il tuo regex via C-x C-e.. Non scrive l'espressione per te; devi ancora scriverlo ... E poi c'è il emacssistema di scrivere una regex usando parole descrittive .. (Pensavo che il sistema verboso / inglese si estinse con COBOL .. ma anche COBOL non è completamente morto, ancora) .. e saluti, devi ancora scriverlo.
Peter,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.