--- lang: ja-jp breaks: true --- # タグに囲まれた文字列 を取得する 正規表現 C# 2021-11-28 ```csharp= string tagName = @"@"; string tagStart = $@"<{tagName}"; string tagEnd = $@"{tagName}>"; string tagContentsName = "tagContents"; string regString = $@"{tagStart}(?<{tagContentsName}>(?:(?!{tagEnd}).)*){tagEnd}"; ``` :::info `(?!~)`:~を含まない文字列にマッチ(否定的先読み) ::: :::info `(?:~)`:非キャプチャ グループを定義します。後方参照不可能なグループ化。 ::: ## Visual Studio ソリューションファイルの `ProjectSection`~`EndProjectSection` を削除する正規表現 ```= ProjectSection\(ProjectDependencies\) = postProject((?:(?!EndProjectSection).)*) EndProjectSection\r\n ``` ## Visual Studio ソリューションファイルからプロジェクトを削除する正規表現 ```= \r\nProject\(((?:(?!Project\().)*)XXXXXXXX.csproj((?:(?!(EndProject\n|Project\()).)*)EndProject\r\n ``` ## Visual Studio プロジェクトファイルから、プロジェクト参照を削除する正規表現 ```= \r\n\s*\<ProjectReference((?:(?!\</ProjectReference\>).)*)XXXXXXXX.csproj((?:(?!\</ProjectReference\>).)*)\r\n\s*\</ProjectReference\> ``` ###### tags: `正規表現` `タグに囲まれた文字列を取得` `C#`