Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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_Replace - Fatal编程技术网

C# 正则表达式->;替换至,但不包括

C# 正则表达式->;替换至,但不包括,c#,regex,replace,C#,Regex,Replace,我正在尝试替换这个@型号 答案是有效的。。直到我不得不替换这句话中的一个 Élément @Model.Title a besoin d'être\napprouvé 将答案稍微修改为:@Model\((?:(?![]))*) 结果与 Élément $Model.Title a$ besoin d'être\napprouvé 我希望$Title->$Model.Title$ 任何帮助都将不胜感激-我对regex非常陌生。在这种情况下,您肯定不需要四处看看。由于您只需在@Model.之后匹

我正在尝试替换这个
@型号

答案是有效的。。直到我不得不替换这句话中的一个

Élément @Model.Title a besoin d'être\napprouvé
将答案稍微修改为:
@Model\((?:(?![]))*)

结果与

Élément $Model.Title a$ besoin d'être\napprouvé
我希望$Title->
$Model.Title$


任何帮助都将不胜感激-我对regex非常陌生。

在这种情况下,您肯定不需要四处看看。由于您只需在
@Model.
之后匹配单词,因此只需替换以下正则表达式即可:

"@(Model[.]\w+)"
与:


在这种情况下,你肯定不需要四处看看。由于您只需在
@Model.
之后匹配单词,因此只需替换以下正则表达式即可:

"@(Model[.]\w+)"
与:


您可以使用以下模式:

@Model\.(\w+)
这将匹配
@Model.
,后跟一个或多个“”。例如:

var output = Regex.Replace(
    "Élément @Model.Title a besoin d'être\napprouvé", 
    @"@Model\.(\w+)", 
    "$$Model.$1$$"); // Élément $Model.Title$ a besoin d'être\napprouvé

您可以使用以下模式:

@Model\.(\w+)
这将匹配
@Model.
,后跟一个或多个“”。例如:

var output = Regex.Replace(
    "Élément @Model.Title a besoin d'être\napprouvé", 
    @"@Model\.(\w+)", 
    "$$Model.$1$$"); // Élément $Model.Title$ a besoin d'être\napprouvé
尝试以下方法(Perl/JavaScript正则表达式格式):

更新:

当然,我们的朋友sed

sed 's/@\(Model\.[^ ]\+\)/$\1$/g'
更新2:

删除空格。

尝试以下方法(Perl/JavaScript正则表达式格式):

更新:

当然,我们的朋友sed

sed 's/@\(Model\.[^ ]\+\)/$\1$/g'
更新2:


删除空格。

为什么不将
@Model\(\S+)
与替换字符串
$Model.$1$

一起使用
@Model\(\S+
与替换字符串
$Model.$1$

酷工具:)-Thanksool工具:)-Thanks问题被标记为C。为什么要发布Perl?此外,如果匹配的单词后面没有紧跟空格,则此操作将不起作用。e、 这是我的@Model.Title公平评论。但这个问题似乎与正则表达式的关系比与C#细节的关系更密切,所以我觉得为一个(当时)未回答的问题提供一些东西,总比不回答好。@Craig谢谢,不管怎样,这个问题被标记为C#。为什么要发布Perl?此外,如果匹配的单词后面没有紧跟空格,则此操作将不起作用。e、 这是我的@Model.Title公平评论。但这个问题似乎与正则表达式的关系比与C#细节的关系更密切,所以我觉得为一个(当时)未回答的问题提供一些东西,总比不回答要好。@Craig谢谢你,我最终得到了p.s.w.g的答案,但我还是尝试了这个方法(仅供参考)。Élément@Model.Title a besoin dêtre\napprouvéstill->仍然以$Model.Title a$@AlanCiantar结尾。你确定吗,我只是重新测试了一下,结果是正确的我正在使用这个网站()->可能是旧的?@AlanCiantar可能是旧的,但是你的问题已经解决了,所以它是好的。@p.s.w.g+Rohit谢谢你们:)显然Rohit的答案在其他在线正则表达式测试程序O.O上有效-再次,ty。我最终得到了p.s.w.g的答案,但我还是尝试了(仅供参考)。Élément@Model.Title a besoin dêtre\napprouvéstill->仍然以$Model.Title a$@AlanCiantar结尾。你确定吗,我只是重新测试了一下,结果是正确的我正在使用这个网站()->可能是旧的?@AlanCiantar可能是旧的,但是你的问题已经解决了,所以它是好的。@p.s.w.g+Rohit谢谢你们:)显然Rohit的答案对其他在线正则表达式测试员也有效。