[^]在C#regex中与什么匹配?

[^]在C#regex中与什么匹配?,c#,regex,C#,Regex,我在看别人的正则表达式。。。我可以看出我正在处理一个积极的后视,但我不确定它应该匹配什么:(?字符) 我的解释哪里找不到标记?由于它是一个无效的模式,[^]与任何字符都不匹配。甚至根本没有尝试过,它在解析阶段失败。[^>]另一方面,是一个否定的字符类,匹配任何字符,但 [^]在除ECMAScript之外的大多数正则表达式样式中是无效的模式。它将在.NET中引发未终止的[]集异常 要匹配任何字符,请使用(?s:)(带有RegexOptions.Singleline选项的模式) (?The[^]不匹

我在看别人的正则表达式。。。我可以看出我正在处理一个积极的后视,但我不确定它应该匹配什么:
(?
字符)


我的解释哪里找不到标记?

由于它是一个无效的模式,
[^]
与任何字符都不匹配。甚至根本没有尝试过,它在解析阶段失败。
[^>]
另一方面,是一个否定的字符类,匹配任何字符,但

[^]
在除ECMAScript之外的大多数正则表达式样式中是无效的模式。它将在.NET中引发
未终止的[]集
异常

要匹配任何字符,请使用
(?s:)
(带有
RegexOptions.Singleline
选项的
模式)


(?The
[^]
不匹配任何字符,因为它是一个无效的模式。它甚至根本没有尝试过,在解析阶段失败。
[^>]
另一方面,是一个与除
之外的任何字符匹配的否定字符类

[^]
在除ECMAScript之外的大多数正则表达式样式中是无效的模式。它将在.NET中引发
未终止的[]集
异常

要匹配任何字符,请使用
(?s:)
(带有
RegexOptions.Singleline
选项的
模式)


(?这是一个无效的模式,与大多数正则表达式风格(ECMAScript除外)一样。它将抛出
未终止的[]集
异常。要匹配任何字符,请使用
(?s:)
(带有
RegexOptions的
模式。单线
选项)@WiktorStribiżew谢谢,你说得对,我给出的表达式无法编译。我从源正则表达式中添加了更多上下文:
(?是的,那么“C#正则表达式中什么匹配?”的答案是它不匹配,因为它是无效模式。它甚至根本没有尝试,在解析阶段失败。并且
[^>]
是一个与任何字符匹配的否定字符类,但是
@WiktorStribiżew可以在答案中随意删除它,我会接受它。关于我对正则表达式的误解的任何进一步指导(更新如上)我也很感激!这实际上是在LINQPad中编译的,因为.NET将
]
后面的
^
解释为一个文本,所以这整件事变成了一个大字符类,除了
]
\t
{
,等等。直到最后一个
]
,所有这些都被隐藏在一个lookback中。但当然,我不认为这是目的。这是一个无效的模式,因为除了ECMAScript之外,它在大多数正则表达式中都是无效的。它将抛出
Unterminated[]set
异常。要匹配任何字符,请使用
(?s:)
(带有
RegexOptions.Singleline
选项的
模式)。@WiktorStribiżew谢谢,你是对的,我给出的表达式无法编译。我从源正则表达式添加了更多上下文:
(?是的,那么“C#regex中[^]匹配什么?”它不匹配任何字符,因为它是一个无效的模式。它甚至没有尝试过,它在解析阶段失败。
[^>]
是一个否定的字符类,它匹配任何字符,但是
@WiktorStribiż我们可以在回答中随意删除它,我会接受它。关于我对正则表达式的误解的任何进一步指导(在上面更新)也会很感激!这实际上是在LINQPad中编译的,因为.NET将
]
后面的
^
解释为一个文本,所以这整件事变成了一个大字符类,除了
]
\t
{
,等等。直到最后的
]
,所有的一切都在后面看。当然,我不认为这是目的。你在哪里看到[^>]在给定的模式中?如果您谈论的是一个恰好包含>,请说出来。@BoltClock它在中。实际上,我只是想提供一个有效的简单求反字符类的示例。@WiktorStribiżew我想您看到的是
[>]
而不是
[^>]
。您在哪里看到[^>]在给定的模式中?如果您谈论的是一个恰好包含>,请这样说。@BoltClock它在中。实际上,我只是想提供一个有效的简单求反字符类的示例。@WiktorStribiżew我想您看到的是
[>]
而不是
[^>]
^
]
\
-