正規表現を視覚的に構築するためのソフトウェアですか?


17

スクリプトで使用するために正規表現を頻繁に作成する必要があります(ほとんどがで使用する場合sed)が、正規表現が非常に複雑になり、理解や編集が難しくなることがあります。正規表現のコードを視覚的に作成し、コピーしてスクリプトに貼り付けることができるソフトウェアはありますか?

回答:


9

どの程度のVisual正規表現

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


何を使いますか?
enzotib

1
私ではなく、それはプロジェクトのホームページから直接リンクされています。しかし、1990年後半に普及したfvwmのように見えます。このfvwm.org/screenshots/desktops/Helmuth_Schmelzer-1366x768/…のようなものと自由に比較してください。今日のfvwmの状態はわかりません(しかし、kdeとgnomeが発明される前は非常に安定していました)。
ヨハン

1
ウィンドウの装飾はMotifから直接出ており、Motifは他のウィンドウマネージャに移植/コピーされています。en.wikipedia.org/wiki/Motif_Window_Manager
Arcege


4

txt2regexを試して、それが役立つかどうかを確認してください。私はそれを真剣に使用したことは一度もありませんでしたが、試してみるとクールに見えました。



2

OPが求めるものではありませんが、関連があると思うので、Regexエディターへの勧告をクロス投稿しますか?#549107-Ubuntuに尋ねる

以下は、ビジュアル正規表現GUIツールでの私の試みですvisRegexTester.py

「正規表現」フィールドを入力して変更すると、「ライブプレビュー」(「自動再実行」)が表示されます。それ以外の場合は、その単一のファイルです。開始時にREADMEコメントがあります-ここにスニペットがあります:

visRegexTesterは、正規表現の作成を支援する小さなPython / Tkinter GUIアプリケーションです。Python 2.7および3.2でテスト済み。実際には、他のコマンドラインプログラムのためのインターフェースは、単にある:それは事実を利用その端末における正規表現プロセッサ(例えばとして使用するUNIX / GNU / Linuxプログラムの多くはgrepsedperl)、3人に同様のコマンドライン構文を持っています部品:

(プログラム--ARGS)( '正規表現')(ファイル名)

...残りの詳細を参照してください。スクリーンショット:

visRegexTester_01.png


1

はい、text2re.comは探しているものに近いはずです。ソーステキストを指定すると、指定したテキストのいずれかに一致する正規表現を生成することを選択できます。このツールは、わずかな言語のコードも生成します。

正規表現ビルダーUI(ページのステップ2)を学ぶのは少し難しいです。オプションのいずれかにカーソルを合わせると、一致するオブジェクトが説明されることに注意してください。

正規表現ツールUI


0

私はかなりあなたが何を意味ないよ「視覚的にコードを作成する」(あなたはGUIツールを意味していますか?)。あなたが私のようであれば、複雑な正規表現を構造化された方法でレイアウトしない限り、作業することは不可能だと思うので、ロジックをより視覚的に表現できます。

本当に、sed単なるスクリプト言語であり、他の言語と同様にレイアウトできます。1行に1つのコマンドがあります。ここに私が意味する典型的な例があります:構造化レイアウトを示すsed正規表現

の非常に便利な機能sedは、そのデバッグコマンドですl。これは\n、などのように改行が埋め込まれたパターンスペースを示す単純な行ダンプです。

問題sedは、正規表現だけではありません。ループと状態テスト用のファンキーで不可解なコマンドセットがあります。これには慣れるのに時間がかかります...私が対処するのを助けるために私が見つけた最高のツールsedは非常に簡単です:私はマニュアルを詳細読みます..それから、それは小さい開始し、取得するプロセスですシンプルなものが機能する; 経験を積むために、より大きなものに積み上げてください

Perl正規表現には、複雑なパターンのレイアウトを支援する便利な機能がいくつかあります。例えば。あなたの表現の空白を無視する能力..(挑戦として、そして経験要因のために、私はそのような空白を許可sedするためにsedコードを解析するパーサーを書きました... PS。私は今それを必要としません;経験のために:)実際には、コマンドを1行に1つずつレイアウトするだけで、perl機能とほぼ同じくらい優れています。

あなたを助けるための最良のツールは、経験です。例えば。このサイトで正規表現の質問に取り組むことは、その経験を得るための素晴らしい方法です... GUIツールは経験を阻害するため、あまり役に立たないと感じています...

要約すると、最高のヘルパーツールは経験構造化されたレイアウトであり、マニュアルを(詳細に)読んでください。

私は「expereince」という言葉をよく使いました。それによって、正規表現を準備する行為(および、sedループロジックなどの場合)が重要な要素になることを意味します。「Regex-Builder」タイプツール; 正規表現を書かないでください。彼らはそれをテストするだけであり、彼らは確か正規表現ではないので、確かにsedのプログラムロジックを処理しません。(そして、あなたは特に選抜しましたsed)...彼らが提供するかもしれない構文ハイライトは私にはあまり役に立ちません。ただし、適切なブラケットマッチングを備えたエディターは非常に便利です(emacsを使用します)。


簡単なテストと実験を行うためのツールがあれば、害はないと思います。(emacs再構築)
favadi

1
私は使用emacs re-builderしましたが、まったく役に立ちませんでした...過去1日目ではありません...私が示したのは、emacsemacsが物事を評価する方法のために、余分なバックスラッシュが1つまたは2つ必要であるということです...あなたは作ることができますC-x C-e..で正規表現を評価することによる同じテスト。それはあなたのために式を書きません。あなたはまだそれを書く必要があります ...そして、emacs記述的な言葉を使用して正規表現を書くシステムがあります。(私は詳細な/英語のようなシステムはCOBOLで死ぬと思った..しかしCOBOLさえ完全に死んでいない、まだ)..と敬意、あなたはまだそれを書く必要があります
Peter.O
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.