2012-04-11 14 views
1

Ich verwende diesen regulären Ausdruck, um zu versuchen, jede Zeile in meinem Code zu finden, die einen doppelten Kommentar Schrägstrich gefolgt von einer beliebigen Menge von Leerzeichen und dann einen Hash hat. so ..Regulärer Ausdruck Suche in VS funktioniert nicht

//  #endif 

zum Beispiel.

Ich benutze , aber es findet nichts. Was mache ich falsch?

Soweit mir bewusst war (//// für den doppelten Schrägstrich sucht und *[ ]/# wird für eine beliebige Anzahl von Leerzeichen durch den Schrägstrich an. Ich bin sicher, dass ich etwas falsch zu bekommen.

Antwort

2

Sie tun nicht brauchen, um die vorwärts-Schrägstriche zu verdoppeln (sie müssen nicht entwertet werden) sind. Umgekehrte Schrägstriche die Escape-Sequenz und sie entkommen brauchen.

Sie sind auch * kurz nach / Bedeutung eine beliebige Anzahl von / verwenden, nicht eine beliebige Anzahl von

Versuchen die folgenden (eine beliebige Anzahl von Räume zwischen dass // und #):

// *\# 

Als Referenz - Visual Studio regular expressions.

Die Visual Studio für reguläre Ausdrücke doeshave ein Escape-Zeichen für Unicode-Leerzeichen - :Wh so kann es näher sein, was man wollte:

//:Wh*\# 

Sie können auch Ihre eigene Zeichenklasse mit zusätzlichen Leerzeichen konstruieren, wenn gewünscht (sagen wir, vertikale Registerkarte, Zeilenumbrüche usw.), aber das ist vielleicht zu viel.

0

Versuchen //:b*:Po in Suche (Abkürzung Ctrl +F). Es wird fangen, was Sie wollen. Ich hoffe, es hilft.