Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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/7/wcf/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的正则表达式不能正常工作,我也想要它_C#_Regex - Fatal编程技术网

C# C的正则表达式不能正常工作,我也想要它

C# C的正则表达式不能正常工作,我也想要它,c#,regex,C#,Regex,我有这样一个输入字符串: \pard\nowidctlpar\qj\b0\scap就是这样 协议\scaps0已订立并签署 直到今天,\{DATEAGREEMENT\}, 由[删除] \ldblquote[已删除]\rdblquote及其 继承人和/或受让人,以及 地址[已删除],以及 \{txtbl\},\ldblquote 原告个人, 关于uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

我有这样一个输入字符串:

\pard\nowidctlpar\qj\b0\scap就是这样 协议\scaps0已订立并签署 直到今天,\{DATEAGREEMENT\}, 由[删除] \ldblquote[已删除]\rdblquote及其 继承人和/或受让人,以及 地址[已删除],以及 \{txtbl\},\ldblquote 原告个人, 关于uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu, \{TXT原告律师\}, \原告 律师 \{TXT律师事务所\}。\par

我想用正则表达式做一些解析

这是我正在使用的代码:

temp = Regex.Replace(temp, @"\\{#.*#\\}", "_____");
唯一的问题是它匹配最宽的集合,也就是说,它去掉了整个段落,因为段落以\}结尾,如何匹配每个组?也就是说,本段应该匹配4次,而不是一次

temp = Regex.Replace(temp, @"\\{#.*?#\\}", "_____");
将“?”附加到“*”将执行非贪婪搜索。您最初的正则表达式执行贪婪搜索,因此它将查找可能的最大匹配项


将“?”附加到“*”将执行非贪婪搜索。您最初的正则表达式执行贪婪搜索,因此它将查找可能的最大匹配项。

我记得,添加了一个?将运算符从贪婪更改为非贪婪,请尝试以下操作:

temp = Regex.Replace(temp, @"\\{#.*?#\\}", "_____");

我记得,添加一个?将运算符从贪婪更改为非贪婪,请尝试以下操作:

temp = Regex.Replace(temp, @"\\{#.*?#\\}", "_____");

你试过让它成为一个不贪婪的匹配吗

temp = Regex.Replace(temp, @"\\{#.*?#\\}", "_____");

你试过让它成为一个不贪婪的匹配吗

temp = Regex.Replace(temp, @"\\{#.*?#\\}", "_____");

您正在寻找惰性评估:

temp = Regex.Replace(temp, @"\\{#.*?#\\}", "_____");

可以这样做

您正在寻找惰性评估:

temp = Regex.Replace(temp, @"\\{#.*?#\\}", "_____");
可以吗