【问题标题】:Why is this regex finding slashes?为什么这个正则表达式会发现斜杠?
【发布时间】:2011-06-28 18:12:29
【问题描述】:
[^A-Za-z0-9(\\)@% \"]

我希望这个正则表达式能找到除所有这些字符之外的所有内容吗?它适用于大多数人,但它正在寻找斜线。

【问题讨论】:

  • 请在您创建和使用此正则表达式的位置添加代码

标签: c# .net regex expression


【解决方案1】:

您需要转义斜线才能匹配("[^A-Za-z0-9(\\)@% \"]")

这是如何在代码中定义的?作为字符串文字?如果不是,您可能无法正确转义转义符。尝试在前面使用@,因为正则表达式对我来说似乎可以正常工作并且与'\'字符不匹配。

我认为你正在这样做

string pattern = "[^A-Za-z0-9(\\)@% \"]"

这样试试:

string pattern = @"[^A-Za-z0-9(\\)@% \"]"

如果这是问题,您可能会发现 this 很有用

【讨论】:

  • 我想我复制错了,我和你在上面做的一样,那行不通。
  • @Joey G,更新的答案,你能说出你是如何声明你的正则表达式的吗?
  • 它只是在寻找一个匹配。所以如果匹配,基本上它会找到一个特殊字符,因为它没有找到上面的所有字符。我不希望它找到斜线,但确实如此。
  • @Joey G,正如我所说,请向我们展示使用它的代码。我在 nregex.com 上对其进行了测试,它与 'blah \' 中的 \ 不匹配
【解决方案2】:

因为\ 是一个特殊字符,需要转义:\\

"[^A-Za-z0-9(\\\\)@% \"]"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    相关资源
    最近更新 更多