C#中与Java标点符号正则表达式等效的内容

3
我想找到C#中等效于此正则表达式的等效内容。
Java:
public static final String expression = "[\\s\\p{Punct}]";

“{Punct}”是Java中的一个保留字符类,但我不确定如何创建等效的表达式,以便.NET正则表达式引擎不会出错。
2个回答

3

[\s\p{P}] 匹配所有空格和标点符号。有趣的是,在字符类的MSDN文档中,这个表达式可以作为示例以完全相同的形式找到。与Java类似,\p{x} 用于表示来自Unicode类别 x 的任意单个字符。请参阅Unicode类别部分以获取除 P 之外的可能性列表。


呵呵...我想到了和你一模一样的解决方案,不过值得指出的是这样行不通。你需要在字符串前使用@,否则你需要转义反斜杠。 - Mark Byers
是的,我想到了这一点,所以我只是编辑掉了引号。现在我的帖子指的是字面字符串值;如何在C#中表示这些值是另一回事。;-) 顺便说一下,问题中的字符串难道不是因为同样的原因而技术上不正确吗? - Joren
如果您点击编辑,您会看到他写了"[\\s\\p{Punct}]",但格式不正确。我将编辑问题,以便您可以看到他打算写什么。 - Mark Byers
是的,这也是我发现的。感谢您的回复! - user325099

3
请使用以下内容:
Regex regex = new Regex(@"[\s\p{P}]");

特别注意使用@


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