.NET正则表达式保留字符

4

为什么?只需在开头引号前使用@,您就不需要担心转义字符。 - Phil C
你能具体一点吗?我不清楚你在问什么。 - Gabe
@符号只适用于创建C#字符串。它不能帮助您将正则表达式保留字符放入正则表达式模式中。 - H2ONaCl
1
你不是在试图重新发明 Regex.Escape,是吧? - Gabe
3个回答

3
你应该看一下Regex.Escape()这个函数,你可以把一个字符串传递给这个函数,它会转义所有的保留正则表达式字符,以便它们被解释为文字。这个答案的来源是Gabe在OP的帖子中评论的,我只是将它变成了答案,以防其他人可能错过它。

谢谢。我错过了这个评论。:-) - Krisztián Balla
是的,谢谢,我也错过了那个半嘲讽(但有用)的评论。这就是 SO 的美妙之处,我可以快速找到像这样简单的问题的答案。是的,我本可以查阅 MS 文献,但时间对我来说很宝贵。而 .Escape() 在这里并没有帮助我,但知道它也是好的。 - batpox

2
这个链接指向一个确切的页面,回答了这个问题。(答案来自sugarman。如果sugarman想发布答案,它将被选中。)
从那个链接中,有一个表格条目说,.NET正则表达式字符匹配它们自己,除了以下几个字符:
. $ ^ { [ ( | ) * + ? \
因此,这些是.NET正则表达式的保留字符。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接