Regex для поиска слова в строке в Visual Studio
Мне нужно найти всю свою кодовую базу для "Url" и заменить ее "URL". Если я ищу Url в Visual Studio, я также получаю все мои переменные с "Url" в нем.
У кого-нибудь есть регулярное выражение, которое я могу использовать, чтобы найти только Url в цитируемой строке, например. Msgstr "Использовать этот URL:"
Edit
Я искал быстрый и грязный способ найти текст дизайнера и жестко закодированные строки с Url в строке и изменить их на URL.
Ответы
Ответ 1
Я действительно нуждался в этом:
("[^"]*Url[^"]*")
И благодаря подсказке tghw, которая указала на ярлык: q в Visual Studio, соответствует:
(("[^"]*")|('[^']*'))
Я понял, что мне нужно использовать первую часть, чтобы найти только двойные квотированные строки, которые я искал.
И это регулярное выражение и стандартная находка с "Match case" и "Match whole word" дали результаты с некоторыми строками, которые я надеялся не найти, но исключил код с "Url" в нем.
Ответ 2
У Visual Studio есть оператор "quoted string" :q
. Если вы ищете :qUrl
с 'Use: Regular expressions' и 'Match case' on, он должен найти все экземпляры "Url" только в строках.
Обновление: приведенное выше неверно.: q просто ищет строку с кавычками, но вы ничего не можете поместить в нее. Мое тестирование просто показывало случаи, которые выглядели правильными, но были просто случайными. Я думаю, вместо этого вы хотите что-то вроде:
^(:q*.*)*(("[^"]*Url[^"]*")|('[^']*Url[^']*'))(:q*.*)*$
Ответ 3
Если вы просто хотите найти строку с кавычками, вы можете использовать опцию "Использовать подстановочные знаки" в Visual Studio.
Например:
"*Url*"
Ответ 4
Я использовал следующее, чтобы искать только "целые слова" (я имею в виду: появлялся с пробелом до после или сразу после или перед "):
(("[^"]*[ ]|")Url([ ][^"]*"|"))
Например, это соответствует "test Url" и "Url test", но не "testUrl".
Ответ 5
"Используйте этот (Url):", то вы можете заменить $1 (или любой другой синтаксис, используемый Visual Studio). Вам может потребоваться избежать кавычек, и я не уверен, что Visual Studio позволяет заключать в скобки части регулярного выражения.