web-dev-qa-db-ja.com

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

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

17
Village

Visual Regexp はどうですか?

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

9
Johan

いかがですか kregexpeditor

5
Alexander

txt2regex を試して、それが役立つかどうかを確認してください。真剣に使ったことはありませんが、試してみると格好良さそうでした。

4
jw013

スタンドアロンアプリを使用する場合は kodos があります。最近、私は http://debuggex.com または http://www.regexper.com/ のようなオンライン正規表現ビジュアライザを使用しています

3
rzymek

正確にはOPが要求するものではありませんが、それは関連性があると思うので、クロスポストします Regexエディターの推奨事項?#549107-Ask Ubunt

これがvisRegexTester.pyと呼ばれるビジュアル正規表現GUIツールでの私の試みです。

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

visRegexTesterは、正規表現の記述を支援する小さなPython/Tkinter GUIアプリケーションです。 Python 2.7および3.2でテストされています。実際、これは他のコマンドラインプログラムの単なるインターフェースです。多くのUnix/GNU/Linuxプログラムが正規表現プロセッサとして使用されているという事実を悪用しています。ターミナル(例:grepsedPerl)には、3つの部分で同様のコマンドライン構文があります。

(プログラム--ARGS)( 'REGEX')(ファイル名)

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

visRegexTester_01.png

2
sdaau

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

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

regex tool UI

1
tcdyl

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

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

sedの非常に便利な機能は、debuggingコマンドlです。これは、改行が埋め込まれたパターンスペースを\nとして示す単純なラインダンプです。 、など.

sedの問題は、正規表現だけではありません。ループと条件テストのためのファンキーで不可解な一連のコマンドがあります。これには慣れるのに時間がかかります... sedの処理を支援するために私が見つけた最高のツールは非常に単純です:I 詳細なマニュアルを読む ..からそれは、小さなものから始めて、単純なものを機能させるプロセスにすぎません。その後、経験を積むために、より大きなものを構築します。

Perl regexには、複雑なパターンのレイアウトを支援するいくつかの便利な機能があります。例えば。式内の空白を無視する機能..(課題として、expereince要素については、sedパーサーを作成してsedこのような空白を許可するコード... PS。今は必要ありません;経験から:)実際、コマンドを1行に1つだけレイアウトすることは、Perlの機能とほぼ同じです。

あなたに役立つ最良のツールは:experienceです。例えば。このサイトの正規表現の質問に取り組むことは、その経験を得るための優れた方法です... GUIツールはエクスペリエンス...を阻害するため、あまり役に立たないと感じています.

要約すると、最良のヘルパーツールはexperienceおよびstructured layoutであり、マニュアルを(詳細に)読んでください。

私はWordの "expereince"をよく使用しました。つまり、正規表現(およびsedの場合、ループロジックなど)を準備することが重要な要素です。 「正規表現ビルダー」タイプのツール。正規表現を書かないでください。彼らはそれをテストするだけであり、確かにsedのプログラムロジックを処理しません、なぜならそれは正規表現ではないからです。(そしてあなたは特にsedを選び出しました)...それらが提供する構文の強調表示は、私にはあまり効果がありません。ブラケットの一致が良好なエディターはかなり便利です(私はemacsを使用しています)。

0
Peter.O