teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答の修正

2020/01/22 03:39

投稿

yureighost
yureighost

スコア2183

answer CHANGED
@@ -4,4 +4,17 @@
4
4
  string ptn = @"($.*$)";
5
5
  System.Text.RegularExpressions.Match matche = System.Text.RegularExpressions.Regex.Match(srcStr, ptn);
6
6
  var result = matche.Value;
7
+ ```
8
+
9
+ 前の回答だとghiも含まれてしまうので少し手直ししてみました。
10
+ $~$のパターンが二つ以上あるが、パターン内の文字をmatchさせたくないなら、
11
+ 正規表現の$の間の.(任意の一文字)を[^$]($以外)にしてmatchした文字を全て結合させればいけると思います。
12
+ ```C#
13
+ using System.Linq;
14
+ using System.Text.RegularExpressions;
15
+ ・・・
16
+ string srcStr = "abc$def$ghi$jkl$mno";
17
+ string ptn = @"($[^$]*$)";
18
+ MatchCollection matches = Regex.Matches(srcStr, ptn);
19
+ string result = String.Join("", matches.Cast<Match>());
7
20
  ```