回答:
どの程度のVisual正規表現?
スタンドアロンアプリを好む場合は、コドスがあります。最近、http://debuggex.comやhttp://www.regexper.com/などのオンライン正規表現ビジュアライザーを使用しています
OPが求めるものではありませんが、関連があると思うので、Regexエディターへの勧告をクロス投稿しますか?#549107-Ubuntuに尋ねる:
以下は、ビジュアル正規表現GUIツールでの私の試みですvisRegexTester.py
。
「正規表現」フィールドを入力して変更すると、「ライブプレビュー」(「自動再実行」)が表示されます。それ以外の場合は、その単一のファイルです。開始時にREADMEコメントがあります-ここにスニペットがあります:
visRegexTesterは、正規表現の作成を支援する小さなPython / Tkinter GUIアプリケーションです。Python 2.7および3.2でテスト済み。実際には、他のコマンドラインプログラムのためのインターフェースは、単にある:それは事実を利用その端末における正規表現プロセッサ(例えばとして使用するUNIX / GNU / Linuxプログラムの多くは
grep
、sed
、perl
)、3人に同様のコマンドライン構文を持っています部品:(プログラム--ARGS)( '正規表現')(ファイル名)
...残りの詳細を参照してください。スクリーンショット:
はい、text2re.comは探しているものに近いはずです。ソーステキストを指定すると、指定したテキストのいずれかに一致する正規表現を生成することを選択できます。このツールは、わずかな言語のコードも生成します。
正規表現ビルダーUI(ページのステップ2)を学ぶのは少し難しいです。オプションのいずれかにカーソルを合わせると、一致するオブジェクトが説明されることに注意してください。
私はかなりあなたが何を意味ないよ「視覚的にコードを作成する」(あなたは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 re-builder
しましたが、まったく役に立ちませんでした...過去1日目ではありません...私が示したのは、emacs
emacsが物事を評価する方法のために、余分なバックスラッシュが1つまたは2つ必要であるということです...あなたは作ることができますC-x C-e
..で正規表現を評価することによる同じテスト。それはあなたのために式を書きません。あなたはまだそれを書く必要があります ...そして、emacs
記述的な言葉を使用して正規表現を書くシステムがあります。(私は詳細な/英語のようなシステムはCOBOLで死ぬと思った..しかしCOBOLさえ完全に死んでいない、まだ)..と敬意、あなたはまだそれを書く必要があります。