我正在尝试解析在此模式中查找数据的文本:
{{([^]+)}}
即 {{
和 }}
之间的任何字符序列。但是,当我尝试构建一个Regex
对象时:
Regex _regex = new Regex("{{([^]+)}}", RegexOptions.Compiled);
我收到此错误:
analysis of "{{([^]+)}}" - Set of [] not terminated....
无论这意味着什么...有人有提示吗?
[^...]
的目的是否定指定列表中存在的字符类。在^
符号之后,为了定义正确的正则表达式,您应该包含一组要排除的字符,例如[^a]+
(这匹配一个或多个不包含文字a
的字符(。
您尝试定义的正则表达式可能是:
{{s*([w]+)s*}}
访问此链接以尝试工作演示。
这是因为
[^]
不是有效的正则表达式,因为您需要指定至少一个要排除的符号。
为了捕获字符串直到结束}}
将表达式更改为以下内容:
{{((?:[^}]|}[^}])*)}}
演示。