Görsel olarak düzenli ifadeler oluşturmak için yazılım?


17

Komut dosyalarında (çoğunlukla kullanıldığında sed) sık sık düzenli ifadeler oluşturmam gerekiyor , ancak, normal ifadeleri anlamak ve düzenlemek benim için bazen çok karmaşık ve zor oluyor. Biri görsel olarak düzenli ifadeler için kod oluşturmanıza izin veren herhangi bir yazılım var mı, daha sonra kopyalayıp bir komut dosyasına yapıştırabilir miyim?

Yanıtlar:


9

Visual Regexp hakkında ne dersiniz ?

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


Hangi wm kullanıyorsunuz?
enzotib

1
Ben değilim, bu doğrudan proje ana sayfasından bir link. Ama 1990 sonlarında popüler olan fvwm gibi görünüyor: s. Bu fvwm.org/screenshots/desktops/Helmuth_Schmelzer-1366x768/… gibi bir şeyle karşılaştırmaktan çekinmeyin , bugün fvwm'nin ne olduğu hakkında hiçbir fikrim yok (ama kde ve gnome icat edilmeden önce çok kararlıydı).
Johan

1
Pencere süslemeleri doğrudan o zamandan beri diğer pencere yöneticilerinde taşınan / kopyalanan Motif'ten çıkar. en.wikipedia.org/wiki/Motif_Window_Manager
Arcege




2

OP'nin tam olarak ne istediğini değil - ama alakalı olduğunu düşünüyorum, bu yüzden Regex editörü için öneri göndereceğim? Bölüm # 549107 - Ubuntu'ya sorun :

İşte bir görsel regex GUI aracı denemek, benim denir visRegexTester.py:

"Normal ifade" alanını yazar ve değiştirirseniz "canlı önizleme" ("Otomatik yeniden çalıştır") vardır. Aksi takdirde sadece o tek dosyadır; başlangıçta bir README yorumu var - işte bir pasaj:

visRegexTester, düzenli ifadelerin yazılmasına yardımcı olan küçük bir Python / Tkinter GUI uygulamasıdır; Python 2.7 ve 3.2 ile test edilmiştir. Aslında, sadece diğer komut satırı programları için bir arabirimdir: terminalde regex işlemcileri olarak kullanılan birçok Unix / GNU / Linux programının (ör grep. sed , perl) üçünde benzer bir komut satırı sözdizimine sahip parçalar:

(PROGRAM --ARGS) ('REGEX') (FILENAME)

... daha fazlası için geri kalanını görün. Ekran görüntüsü:

visRegexTester_01.png


1

Evet, text2re.com aradığınıza yakın olmalıdır. Kaynak metin verildiğinde, verilen metnin herhangi biriyle eşleşen bir normal ifade oluşturmayı seçebilirsiniz. Araç, dillerin dağılması için de kod üretir.

Normal ifade oluşturucu kullanıcı arayüzünü (sayfadaki 2. adım) öğrenmek biraz zor; seçeneklerden herhangi birinin üzerine gelindiğinde, eşleştiğiniz nesneyi açıkladığını unutmayın:

normal ifade aracı kullanıcı arayüzü


0

"Görsel olarak kod oluşturmak" ile ne demek istediğinden emin değilim (GUI aracı demek istiyor musunuz?). Eğer benim gibiyseniz, bunları düzenli bir şekilde düzenlemediğim sürece karmaşık düzenli ifadelerle çalışmanın imkansız olduğunu görüyorum, böylece daha iyi bir görsel elde edebilirim mantığın temsilini .

Gerçekten, sedsadece bir betik dilidir ve diğer diller gibi düzenlenebilir. satır başına bir komut ile. İşte ne demek istediğimin tipik bir örneği: Yapılandırılmış düzeni gösteren bir sed regex .

Çok kullanışlı bir özelliği sedde hata ayıklama komutudur l. Bu, desen alanını katıştırılmış yeni satırlarla gösteren basit bir satır dökümüdür.\n vb ..

Sorun sedsadece düzenli ifadeler değil. Döngü ve durum testi için korkak şifreli bir komut seti vardır; Bu alışmak için zaman alır ... Şimdiye kadar bana yardımcı olmak için bulduğum en iyi araç sedoldukça basittir: Kılavuzu ayrıntılı olarak okudum .. Bundan, sadece küçük bir başlangıç ​​ve basit şeyler çalışmak; o zaman deneyim kazanmak için daha büyük şeyler geliştirin.

Perl regex, karmaşık desenleri düzenlemeye yardımcı olacak bazı yararlı özelliklere sahiptir; Örneğin. ifadenizdeki boşlukları görmezden gelme yeteneği .. (Bir meydan okuma olarak ve expereince faktörü için, böyle bir boşluğa izin vermek için kodumu sedayrıştırmak için bir ayrıştırıcı yazdım sed... PS. Şimdi ihtiyacım yok; deneyim nedeniyle :) Aslında, her satıra bir tane olmak üzere, komutları yerleştirmek neredeyse perl özelliği kadar iyidir.

Size yardımcı olacak en iyi araç: deneyim . Örneğin. Bu sitede regex soruları ile mücadele bu deneyimi elde etmek için harika bir yoldur ... GUI araçları gerçekten çok yardımcı olmadığını hissediyorum, çünkü onlar deneyimi engeller ...

Özetle, en iyi yardımcı araçlar deneyim ve yapılandırılmış düzendir ve kılavuzu (ayrıntılı olarak) okuyun.

Ben "expereince" kelimesini çok kullandım .. bununla düzenli ifadeler (ve sedherhangi bir döngü mantığı vb.) Hazırlama eylemi anahtar faktördür .. "Regex-Builder" tipi araçlar; regex'i sizin için yazmayın; sadece test ediyorlar ve kesinlikle sed'in program mantığını işlemeyecekler , çünkü bu bir normal ifade değil .. (ve özellikle dışarı çıktınız sed) ... Sunabildikleri sözdizimi vurgulama benim için pek bir şey yapmıyor . İyi braket eşleşmesine sahip bir editör oldukça kullanışlı (emacs kullanıyorum) ..


Kolay test ve deney için bir aracınız varsa bunun acıtmayacağını düşünüyorum. (emacs yeniden oluşturucu)
favadi

1
Kullandım emacs re-builderve bana hiç yardımcı olmadı ... geçen gün değil ... Bana tüm gösterdiğim şey, emacsemacs'ın şeyleri nasıl değerlendirdiği için ekstra bir ters eğik çizgiye ihtiyaç duyması ... aynı testi regex ile değerlendirerek C-x C-e.. Bu ifade sizin için yazmaz; Eğer hala yazmaya gerek ... Ve sonra orada emacstanımlayıcı kelimeler kullanarak bir normal ifade writitng sistemi .. (ben düşündüm ayrıntılı / ingilizce benzeri sistem COBOL öldü .. ama hatta COBOL tamamen ölmedi henüz) .. ve regardles, sen hala yazmak gerekir.
Peter.O
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.