Регулярное выражение в Visual Studio Find & Replace - несколько пробелов между поисковыми терминами - PullRequest
3 голосов
/ 24 августа 2010

Мне требуется регулярное выражение для функциональности Visual Studio Поиск и замена , как указано ниже:

Поиск по следующему термину: ключ сектора в (

Может быть несколько пробелов между каждым из трех вышеуказанных поисковых терминов или даже несколько разрывов строк / возвратов каретки.

Поисковый термин ищет операторы SQL, которые имеют жестко заданные значения SectorKey внутри SQL в операторе . Их необходимо заменить на оператор соединения SQL - это будет сделано вручную.

Ответы [ 3 ]

5 голосов
/ 24 августа 2010

Маленькая стрелка справа от поля Найти что является вашим другом и может помочь вам с капризами синтаксиса MS regex.

Символ новой строки представлен \n, так что вы можете просто сделать sectorkey( |\n)+in( |\n)+\( (Вам нужно экранировать открытую часть в поисковом выражении, поскольку она используется в группировке.)

3 голосов
/ 24 августа 2010

Я верю :Wh+ - это то, что вы хотите. Вкус регулярного выражения Visual Studio очень странный; вы получите лучшие результаты, если обратитесь к официальному справочнику . Опыт работы с «основными» регулярными выражениями имеет тенденцию быть скорее помехой, чем помощью, когда дело доходит до VS.

2 голосов
/ 24 августа 2010

Вы можете использовать \s+ для поиска одного или нескольких соседних пробельных символов (включая табуляцию, CR, LF и т. Д.), Так что ваше регулярное выражение в конечном итоге будет выглядеть как sectorkey\s+in\s+\(.

Edit ...

Как отмечает Джо в своем комментарии, похоже, что Visual Studio не поддерживает \s в выражениях Find / Replace, и в этом случае вам, вероятно, придется использоватьчто-то вроде [\n:b] вместо этого.Тогда регулярное выражение станет sectorkey[\n:b]+in[\n:b]+\(.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...