入力として特定の文字列が指定された場合に、一般的な正規表現を作成するツールはありますか?
現時点では、ツールではなく実際の正規表現を使用します。
私の場合、正規表現でIPアドレスを表すために山かっこで囲まれたHOSTを使用できることに注意してください。私の目標は、「fail2ban」と呼ばれるツールの正規表現を作成することです。
私の文字列が[2012-11-0622:52:40]であるとしましょう通知[4339]chan_sip.c:「111.111.11.1:9546」の「202」からの登録に失敗しました-パスワードが間違っています
(このフォーラムは明らかに記号を削除したり、文字列をいじったりしているようです。そのため、次の規則を使用して、内容を確認します。DQはDOUBLEQUOTEを表します"LABは左角を表しますBRACKET<RABは直角を表しますBRACKET>ATはアットマークを表します@)
上記の規則の使用:
[2012-11-0622:52:40]通知[4339]chan_sip.c:「DQ202 DQ LAB sip:202 ATemailAddressRAB」からの登録が「111.111.11.1:9546」で失敗しました-パスワードが間違っています
読みやすくするために、記号の間にスペースを追加したことに注意してください。それらは元の文字列の一部ではありません。
NOTICEを試しました。*。:'からの登録。'失敗しました':。*'-間違ったパスワード
および:通知。*。:'\"。 \"'からの登録が':。*'で失敗しました-パスワードが間違っています
適切な正規表現は何ですか?
前もって感謝します
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
補足:まだ存在しない場合は、特定の文字列を指定して正規表現の作成を自動化するツールを誰かが作成できると便利です。
これが私が考えていることです。
文字列は、次のCライブラリ関数によって簡単に解析できますisalphanum(c), isalpha(c), isdigit(c), ispunct(c), isspace(c)
。
難しいのは、正規表現ジェネレーターを構築することです。