2017-01-25 4 views
1

これは簡単なことですが、私はそうすることはできません。 Visual Studioでビジュアルスタジオの正規表現置換2015

smartPtr(className) =>smartPtr<className>

+0

私にとってはうまくいきます! –

+1

リテラル文字列置換を使用し、正規表現モードを無効にします。 –

+0

@WiktorStribiżewは、ソリューション全体で置き換えを行う必要があります。それはsmartPtr()で包まれた100以上のクラスを持っています – user2391685

答えて

1

、検索を有効にして、正規表現ベースの検索を使用して最初置き換えるために正規表現モードを交換してください。

はその後、あなたは文字通り一致する括弧をエスケープする必要が()、代わりに包まれclassName(または\w+が一致する1+英字/数字/ _)の)以外1+文字を一致させるために[^)]+を使用捕捉基(エスケープ括弧のペア):

smartPtr\(([^)]+)\) 

又は

smartPtr\((\w+)\) 

とrepla (smartPtr<$1>)。

.NET regex demo onlineを参照してください。

:単語全体としてsmartPtr()に一致するように、あなたは単語の境界、\bsmartPtr\((\w+)\)、あるいは空白の境界、(?<!\S)smartPtr\((\w+)\)でパターンを付加します。

+0

classNameは一般的な用語です。私は、ソリューション内でsmartPtr(classA)、smartPtr(classB)などを置き換える必要があります – user2391685