2010-08-23 2 views
3

je besoin d'une expression régulière pour Visual Studio Rechercher et remplacer fonctionnalité, comme suit:Expression régulière dans Visual Studio Rechercher et remplacer - plusieurs espaces entre les termes de recherche

Recherche pour le mandat suivant: sectorkey dans (

Il pourrait y avoir plusieurs espaces entre chacun des plus de 3 termes de recherche, ou même des sauts de ligne multiples/retours chariot.

Le terme de recherche cherche des instructions SQL qui ont Secto codés en dur Valeurs rKey dans une instruction SQL dans. Ceux-ci doivent être remplacés par une déclaration de jointure SQL - ceci sera fait manuellement.

Répondre

5

La petite flèche à la droite de la zone Rechercher est votre ami et peut vous aider avec les aléas de la syntaxe MS regex.

Newline est représenté par \n, de sorte que vous pouvez juste faire sectorkey(|\n)+in(|\n)+\( (Vous devez échapper aux paren ouverts dans votre expression de recherche, car qui est utilisé dans le regroupement.)

2

Vous pouvez utiliser \s+ pour rechercher un ou plusieurs caractères d'espaces adjacents (y compris les tabulations, CR, LF, etc.), de sorte que votre expression régulière finira vraisemblablement par ressembler à sectorkey\s+in\s+\(.

Modifier ...

Comme le souligne Joe dans son commentaire, il semble que Visual Studio ne prend pas en charge \s dans Rechercher/Remplacer les expressions, dans ce cas, vous aurez probablement besoin d'utiliser quelque chose comme à la place. L'expression régulière deviendrait alors sectorkey[\n:b]+in[\n:b]+\(.

+2

Je ne pense pas que Visual Studio supporte \ s. Voir: http://msdn.microsoft.com/en-us/library/2k3te2cs(VS.80).aspx –

3

Je crois :Wh+ est ce que vous voulez. La saveur de regex de Visual Studio est très étrange; vous aurez tendance à obtenir de meilleurs résultats si vous consultez le official reference. L'expertise des regex «mainstream» tend à être plus un handicap qu'une aide quand il s'agit de VS.

+0

Ha hah trop vrai sur le handicap. –

Questions connexes