正则表达式模式错误C#

时间:2010-10-19 22:56:31

标签: asp.net

当我将表达式声明为

 someText = Regex.Replace(someText, @"/*.*?*/", "");

错误说 System.ArgumentException:par "/*.*?*/" 解析 - 嵌套量词*。

如何重写代码以避免此错误?

4 个答案:

答案 0 :(得分:0)

你不喜欢这样:?*

这基本上转化为“零或一个前一个表达式零次或多次”,这似乎有点奇怪。我很确定这与说“零次或多次”是一回事。你能更详细地解释一下你想要做什么吗?

我怀疑如果你改变你的正则表达式,它会做你想要的:

(/*.*)*/

答案 1 :(得分:0)

可能需要的是口头描述或您想要匹配的样本。这是我对你想要的猜测。我刚为“?”添加了一个转义符。字符。

string someText = Regex.Replace(someText, @"/*.*\?*/", "");

答案 2 :(得分:0)

您似乎正在尝试解析/ * * /样式评论。您可能希望尝试使用正则表达式:

someText = Regex.Replace(someText, @"/\*.*\*/", "");

这可确保您的*作为实际字符进行转义。

答案 3 :(得分:0)

这是一个很好的网站,可以毫不费力地测试你的正则表达式:

http://www.regular-expressions.info/javascriptexample.html

我希望这会有所帮助。