Es scheint einfach, aber es ist mir nicht gelungen, dies zu tun.Regex Substitution in Visual Studio 2015
smartPtr(className)
=>smartPtr<className>
Es scheint einfach, aber es ist mir nicht gelungen, dies zu tun.Regex Substitution in Visual Studio 2015
smartPtr(className)
=>smartPtr<className>
In Visual Studio, aktivieren Sie die Suche und ersetzen regex Modus eine Regex-basierten Suche und ersetzen Sie den ersten Einsatz.
Dann müssen Sie die Klammern entkommen wörtlichen übereinstimmen (
und )
, und verwenden Sie [^)]+
1+ andere Zeichen als )
anstelle der className
(oder \w+
entsprechen 1+ Buchstaben/Ziffern/_
) mit einem eingewickelt übereinstimmen Erfassungsgruppe (ein Paar von unescaped Klammern):
smartPtr\(([^)]+)\)
oder
smartPtr\((\w+)\)
und repla ce mit smartPtr<$1>
.
Siehe eine .NET regex demo online.
HINWEIS: smartPtr()
als ganzes Wort entsprechen, können Sie das Muster mit einer Wortgrenze, \bsmartPtr\((\w+)\)
oder sogar eine Leerzeichen Grenze Zierer (?<!\S)smartPtr\((\w+)\)
.
className ist ein generischer Begriff. Ich muss SmartPtr (Klasse A), SmartPtr (Klasse B) und usw. in der Lösung ersetzen – user2391685
es funktioniert gut für mich !!! –
Verwenden Sie eine literale String-Substitution, deaktivieren Sie den Regex-Modus. –
@ WiktorStribiżew müssen den Ersatz in der gesamten Lösung tun. Es hat mehr als 100 Klassen, die mit smartPtr() umschlossen sind. – user2391685