簡體   English   中英

在Visual Studio中搜索和替換

[英]Search and replace in Visual Studio

在Visual Studio中,當我在選擇中進行搜索時,我想使用正則表達式替換每行匹配項的第一個實例(或第二個,第三個等)。 我該怎么做?

搜索並替換

foo1 = foo1;
foo2 = foo2;
...
foo20 = foo20;

進入以下。

foo1 = bar1;
foo2 = bar2;
...
foo20 = bar20;

在Visual Studio 2012中,捕獲組和反向引用的用法與C#中的用法相同。 您可以使用通用括號捕獲它們,並使用$ 0,$ 1等向后引用它們。希望對您有所幫助!

請注意,語法$1用於查找替換,而\\1用於搜索字符串中的向后引用。

Visual Studio 2010和更早版本中 ,將正則表達式與反向引用一起使用

Visual Studio的正則表達式與我所學的完全不同。 花了我一些時間找出正確的答案。

搜索

{foo}{:d+} = \1\2

用。。。來代替

\1\2 = bar\2

通過使用大括號{foo}進行tagging來完成后向引用。 :d+\\d+相同

在此處閱讀有關VS RegEx的更多信息

在這里,完全按照此處顯示的方式鍵入

搜索: (\\w+\\d+\\s*=\\s*)[^\\d]+(\\d+);

替換: $1bar$2;


閱讀更多: 在Visual Studio中使用正則表達式

在Visual Studio 2019查找/替換中如此簡單。 我需要將FORTRAN IO格式的字符串替換為C ++格式,並使用子表達式和正則表達式的編號。

示例:找到:“ f9.8”,“ f18.3”,並用%9.8f,%18.3f替換
reg exp:查找=(f)(\\ d +。\\ d +)替換=%$ 2f

我也可以不用正則表達式來完成:

= bar替換= foo

如果需要一個正則表達式,則可以使用:

foo(\d*) = foo(\d*);

用。。。來代替:

foo\1 = bar\2;

如果您的變量更大:

Regex.Replace(input, @"(?<=\= )[^;0-9]*(?=[0-9]*;)", replacewith);

此搜索=(anynumber); 並在兩者之間替換。

編輯:該數字是可選的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM