2016-05-24 3 views
-4

私は数回正規表現を学習しようとしましたが、実際には管理しません。私は、次のように検索と置換する正規表現でいくつかの助けに感謝変わることになります。try&catchを取り除く正規表​​現

#Any code 
    try 
    { 
     #Any code 

    } 
    catch (Exception ex) 
    { 
     throw new ExceptionHandler("", ExceptionType.UnexceptedException, ExceptionSeverity.Error, null, "", ex); 
    } 

難しい部分は、タブとスペースの変動が仕事を得るためにpobablyです。

これは上記のコードと一致している必要があります。

+1

どのようにそれは5kの担当者が付属して、あなたは/任意の検索の努力を示すO wの質問をしますか? –

+0

あなたは私の投稿を読んだことがありますか? "私は数回正規表現を学ぼうとしました"。高い担当者は、正規表現を知っていることを意味しますか? – Banshee

+0

正規表現ではこれを確実に行うことは不可能です。正規表現のフレーバー(指定しなかったもの)が再帰をサポートしている場合、クイックダーティーな解決策を得ることができますが、コード内にコメントや文字列が含まれている可能性があります。括弧または他の関連する構文要素を含む。 –

答えて

1

あなたは、このいずれかを使用できます。

try\s+\{(.*?)\s+\}\s+catch\s*\(.*?\)\s+\{\s+throw new ExceptionHandler\("", ExceptionType.UnexceptedException, ExceptionSeverity.Error, null, "", ex\);\s+\} 

しかしあなたが別のtry/catchブロック内try/catchブロックを持っている場合、それはを失敗します。あなたはそれを試すことができますhere

注:大規模な交換を行う前にバックアップをとってください。

+0

ありがとう、クイック検索を使用すると、「正規表現を使用する」と表示されても、何も見つからないことがわかりますか? – Banshee

+0

@Banshee正規表現オプションをチェックしましたか?どのIDEですか? –

+0

私がFind allを見つけようとすると、tryとcatchの間にコードが全くありません。それをソリューション全体に設定してください。 – Banshee

0

あなたは、この正規表現を試すことができます。

try\s*?\{\s*?(.+)\s*?\}\s*?catch\s+?\(\s*?Exception\s*?ex\s*?\)\s*?\{\s*?(.+)\s*?\} 
関連する問題