Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用相同的标识符分隔多个字符串_C#_Regex - Fatal编程技术网

C# 用相同的标识符分隔多个字符串

C# 用相同的标识符分隔多个字符串,c#,regex,C#,Regex,如何分离具有相同标识符的多个字符串(它们在原始文本中顺序紧随其后) 例如,我有大文本,需要将字符串组与标识符“rtsp视频”匹配 set service "rtsp-video" protocol tcp src-port 0-65535 dst-port 80-80 set service "rtsp-video" + udp src-port 0-65535 dst-port 554-554 set service "rtsp-video" + tcp src-port 0-65535

如何分离具有相同标识符的多个字符串(它们在原始文本中顺序紧随其后)

例如,我有大文本,需要将字符串组与标识符“rtsp视频”匹配

set service "rtsp-video" protocol tcp src-port 0-65535 dst-port 80-80 
set service "rtsp-video" + udp src-port 0-65535 dst-port 554-554 
set service "rtsp-video" + tcp src-port 0-65535 dst-port 554-554 
如何正确地创建REGEXP模式

         ................................... 
 StreamReader reader = new StreamReader(opendialog.FileName);
 string patternService = @"(set service "".+""){1,}.*";
 var matchesService = Regex.Matches(reader.ReadToEnd(), patternService);

          foreach (Match match in matchesService)
               {

                    lst_app.Add(match.ToString());

               }
            }


            return lst_app;
怎么样

^.*?\"rtsp-video\".*?$
这样行吗?您可能必须更改某些设置,才能正确处理行结束。C#那样很奇怪

只是一点点。。。为什么不使用:

lst_app = File.ReadAllLines(opendialog.FileName).Where(w=>w.Contains("\"rtsp-video\"")).ToList();

干杯。

您说过需要匹配
rtsp视频,但您的正则表达式在这方面肯定不匹配。您想要的是什么?您的
+
模式的问题是,一旦它到达双引号
,它将继续通过它。您应该使用
[^”“]+
。这也将避免回溯。匹配包含“rtsp视频”的字符串”“是的right@user3214034:因此,该评论没有给问题添加任何内容。请具体一点,谢谢!现在我要试试你的方法!