Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.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/5/ember.js/4.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,我知道,我应该使用htmlAgilityPack-但在我的情况下,我没有任何机会。。。悲伤但真实。。。 我们有以下正则表达式: 以及以下示例输入: <A href=" http://dummy.domain/dummy.html " target="_blank"><b><font face="Arial" color="#0000FF" size="2"> Dummy text </font></b></a> 如果我删除

我知道,我应该使用htmlAgilityPack-但在我的情况下,我没有任何机会。。。悲伤但真实。。。 我们有以下正则表达式: 以及以下示例输入:

<A href="
http://dummy.domain/dummy.html
" target="_blank"><b><font face="Arial" color="#0000FF" size="2">
Dummy text
</font></b></a>
如果我删除组内的换行符,一切正常。我在.NETC上运行这个带有忽略大小写选项的程序


是的。没有捕获任何\r\n东西?

我猜您放置管道符号是为了表示或在字符类中。如果是这样,请删除管道,[]表示或其任何成员

另外,请记住,HTML中的任何位置都有可能\n和。不会捕获它将捕获的字符\r\n

要匹配换行符,您需要使用SingleLine选项,或者更改。替换为[.\n]或[\s\s]以代替普通。。下面是一个内联指定单线模式的示例:

(?s)<a(.+?)(href=["'](.+?)["'])([^>]*)>(.+?)</a>

还要注意这里使用的[^>]*比使用非贪婪匹配要简单一些。

如果我没有弄错的话,这个。匹配除换行符以外的任何字符。

如果您只是尝试选择标记之间的所有内容,请尝试以下操作

<a\b[^>]*>([\s\S.]*?)</a>

@约翰:你应该为接受而回答这个问题,或者加入我的讨论:嗯,事实上是这样的。。。正则表达式是正确的,但我必须使用单线选项来捕捉\n…没错!我的错。编辑后包含了空格和空格的详细信息。事实上,我猜是这样的。。。如果您添加了一个解决方案,我想勾选您的答案为正确!实际上,我并没有在这里做一个愚蠢的选择:。。。这些团体需要保持现状。sry…需要注意的一点是,[\s\s]的执行时间与相比非常糟糕它很难看,\S=选择除空白之外的所有内容\S=空白,从内存中丢失,因此可能不是最佳选择,但它确实抓住了所有内容: