Regex->;更换最多但不包括
本文关键字:不包括 gt Regex- | 更新日期: 2023-09-27 18:27:50
我正在尝试将此@Model.<A Word>
替换为$Model.<A Word>$
因此,@Model.Test
将变成$Model.Test$
在搜索SO时,我发现了这个线程
Regex直到但不包括
答案是有效的。。直到我不得不替换这句话中的一个
Élément @Model.Title a besoin d'être'napprouvé
将答案稍微修改为:@Model'.((?:(?![ ]).)*)
结果
Élément $Model.Title a$ besoin d'être'napprouvé
我希望$刚好在标题->$Model.Title$
之后
任何帮助都将不胜感激-我是regex的新手。
您可以使用以下模式:
@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.
之后的单词,因此可以替换以下正则表达式:
"@(Model[.]'w+)"
带有:
"$$$1$$"
为什么不将@Model'.('S+)
与替换字符串$Model.$1$
一起使用
试试这个(Perl/JavaScript正则表达式格式):
s/@(Model'.[^ ]+)/'$$1'$/g
更新:
当然还有我们的朋友sed
:
sed 's/@'(Model'.[^ ]'+')/$'1$/g'
更新2:
删除了空格。