C# 我的正则表达式上的string.Format给了我空格来代替大括号?
字符串后的我的正则表达式。格式(c#): (^{0}){124;({0}[-!#$%&'}()*+,./:;?@{{code>{{124; ~”]){124;([-!#$%&'()*+,./}:;?@{code>{124; ~“]{0})({0}) 当正则表达式通过调试器时,它如下所示: (^Word)|(Word[-!。$%和')*+,./:;?@(Word)([-!。$%和'()*+,./:;?)C# 我的正则表达式上的string.Format给了我空格来代替大括号?,c#,regex,C#,Regex,字符串后的我的正则表达式。格式(c#): (^{0}){124;({0}[-!#$%&'}()*+,./:;?@{{code>{{124; ~”]){124;([-!#$%&'()*+,./}:;?@{code>{124; ~“]{0})({0}) 当正则表达式通过调试器时,它如下所示: (^Word)|(Word[-!。$%和')*+,./:;?@(Word)([-!。$%和'()*+,./:;?) 我的string.format的花括号已被空格替换,这显然破坏了我的正则表达式。有人知道如何解
我的string.format的花括号已被空格替换,这显然破坏了我的正则表达式。有人知道如何解决此问题吗???string.format在替换中的值时不添加空格。我猜是您的单词造成的。它来自何处?您在调用format之前尝试过修剪它吗
public Regex getExpression(string word)
{
string baseExpr = @"(^{0})|({0}[-!#$%&'}()+,./:;<=>?@\{{|~""])|([-!#$%&'()*+,./}:;<=>?@_{|~""]{0})|( {0} )";
return new Regex(string.Format(baseExpr, word.Trim()));
}
public Regex getExpression(字符串字)
{
字符串baseExpr=@“(^{0})|({0}[-!$%&'}()+,./:;?@{{{124;~”)|([-!!$%&'()*+,./:;?){0}){124;({0}”);
返回新的正则表达式(string.Format(baseExpr,word.Trim());
}
您可能需要对单词进行更彻底的清理,以去除关键的正则表达式字符。String.Format在替换中的值时不会添加空格。我猜是您的单词造成的。它来自何处?在调用Format之前您是否尝试过修剪它
public Regex getExpression(string word)
{
string baseExpr = @"(^{0})|({0}[-!#$%&'}()+,./:;<=>?@\{{|~""])|([-!#$%&'()*+,./}:;<=>?@_{|~""]{0})|( {0} )";
return new Regex(string.Format(baseExpr, word.Trim()));
}
public Regex getExpression(字符串字)
{
字符串baseExpr=@“(^{0})|({0}[-!$%&'}()+,./:;?@{{{124;~”)|([-!!$%&'()*+,./:;?){0}){124;({0}”);
返回新的正则表达式(string.Format(baseExpr,word.Trim());
}
您可能需要对单词进行更彻底的清理,以去除关键的正则表达式字符。您是否100%确定要传递给string.Format的字符串周围没有空格?请发布一段代码片段?您描述的行为太奇怪了,您可能犯了一个简单的错误……是的,您可以添加完整的string.Format吗调用?您是否100%确定要传递给string.Format的字符串周围没有空格?是否可以发布代码片段?您描述的行为太奇怪,您可能犯了一个简单的错误…是的,您可以添加完整的string.Format调用吗?您的代码示例在string.Format()中出现FormatException时崩溃调用。我只是逐字复制了他的表达式,并在语法突出显示中添加了“字符”。看起来他没有正确地转义所有{字符。要“清理”这个词,我建议至少使用Regex.escape(),因为否则会有“Regex注入”“可能;)您的代码示例在string.Format()调用中发生FormatException时崩溃。我只是逐字复制了他的表达式,并在语法高亮显示中添加了“字符”。看起来他没有正确地转义所有{字符。要“清理”这个词,我建议至少使用Regex.escape(),否则您会遇到”正则表达式注入“可能性;”