C# 将扩展正则表达式转换为与.NET兼容的正则表达式

C# 将扩展正则表达式转换为与.NET兼容的正则表达式,c#,regex,C#,Regex,我有一个RegEx,它在*NIX系统和支持扩展正则表达式(Extended Regular Expressions,ERE)的语言上运行得非常好。我还没有找到一个免费提供的支持ERE的.NET库,我也没有幸运地尝试将其转换为非ERE并得到相同的结果。以下是正则表达式: ^\+(<{7} \.|={7}$|>{7} \.) ^\+({7}\) 背景:正则表达式的要点是确定给定字符串是否具有来自未解析subversion合并的标记。您确定没有输入错误吗?(设置为POSIX ERE或G

我有一个RegEx,它在*NIX系统和支持扩展正则表达式(Extended Regular Expressions,ERE)的语言上运行得非常好。我还没有找到一个免费提供的支持ERE的.NET库,我也没有幸运地尝试将其转换为非ERE并得到相同的结果。以下是正则表达式:

^\+(<{7} \.|={7}$|>{7} \.)
^\+({7}\)

背景:正则表达式的要点是确定给定字符串是否具有来自未解析subversion合并的标记。

您确定没有输入错误吗?(设置为POSIX ERE或GNU ERE时)表示“+”量词前面必须有一个可以重复的标记。除此之外,这似乎是一个有效的.NET正则表达式。您可能还想看看O'Reilly关于正则表达式的一本好书。如果这没有帮助,请发布一些您试图匹配/不匹配的文本示例。

您确定没有输入错误吗?(设置为POSIX ERE或GNU ERE时)表示“+”量词前面必须有一个可以重复的标记。除此之外,这似乎是一个有效的.NET正则表达式。您可能还想看看O'Reilly关于正则表达式的一本好书。如果这没有帮助,请发布一些您试图匹配/不匹配的文本示例。

像ERE一样,语法与.NET的正则表达式风格基本上是向上兼容的,就像它与大多数其他“Perl兼容”风格(Perl、PHP、Python、JavaScript、Ruby、Java…)一样。换句话说,您可以在ERE正则表达式中执行的任何操作,都应该能够在相同的.NET正则表达式中执行。当然,你的例子是:

^\+(<{7} \.|={7}$|>{7} \.)
这回答了你的问题吗?

像ERE语法一样,它与.NET的正则表达式风格基本上是向上兼容的,就像它与大多数其他“Perl兼容”风格(Perl、PHP、Python、JavaScript、Ruby、Java…)一样。换句话说,您可以在ERE正则表达式中执行的任何操作,都应该能够在相同的.NET正则表达式中执行。当然,你的例子是:

^\+(<{7} \.|={7}$|>{7} \.)

这回答了你的问题吗?

这不是打字错误,OP只是没有使用代码格式,所以so软件吃掉了一些字符。这不是打字错误,OP只是没有使用代码格式,所以so软件吃掉了一些字符。这没有回答问题,但我确实学到了一些新的东西——我没有意识到C允许双引号转义引号的方法。我用“@”来声明字符串文字。这没有回答问题,但我确实学到了一些新的东西——我没有意识到C#允许双引号方法来转义引号。我使用“@”来声明字符串文字。
@"He said, ""Look out!""";