我有一个字符串,我需要从中获取{{...}}模式的字符串,并用评估值替换它们。
注意:有些方法会放在这个{{abc();}}中。我需要评估这些方法并将其替换为相应的输出。
string abc="/*html$**{{abcd();}}**//*dhf//**{{ef();}}** ";
string pattern="*{{*}}*";
MatchCollection collection = Regex.Matches(abc, pattern);
我尝试使用这种模式。但它抛出了以下异常。
“{”解析\“ {{}} * \” - 量词{x,y}不执行任何操作。“}”
答案 0 :(得分:0)
好的,你肯定需要了解有关正则表达式模式的更多信息,因为你的模式甚至无法编译......
对于初学者,此模式{{[a-z]*\(\);}}
将为您提供{{abc();}}
这很简单,因为您需要逃脱的唯一字符是(
和)
这些是正则表达式的一些特殊字符,它将模式分成“捕获组”,因此如果要匹配它们,则需要通过将\
放在它们前面来逃避它们。例如*
也是如此。
使用像https://regex101.com/这样的网站来测试正则表达式(?)并根据您的特定需求开发我的给定模式。
该网站提供了很多关于模式中每个符号如何工作的解释,甚至可以在模式字符串出现错误时向您显示。