【问题标题】:The expression contains an escape sequence表达式包含转义序列
【发布时间】:2016-02-10 10:17:00
【问题描述】:

我正在使用重写模块来允许字符串中的双引号

[_0-9a-z-‘!@#$%^*()!~`\22\42.]

但它给出了以下错误。

表达式“^([_0-9a-z-]+)/([_0-9a-z-]+)/([_0-9a-z-'!@#$%^* ()!~`\22\42.]+)" 包含无效的转义序列。

【问题讨论】:

  • 您可能错过了\x。使用\x22\x42。或使用\u0022\u0042。您可能还需要将反斜杠加倍。

标签: asp.net regex url url-rewriting


【解决方案1】:

\22\42 不是有效的转义序列。如果您打算匹配这些字符,则需要指定十六进制表示法:

[_0-9a-z-‘!@#$%^*()!~`\u0022\u0042.]

或者

[_0-9a-z-‘!@#$%^*()!~`\x22\x42.]

【讨论】:

  • 我的网址包含“”(双引号)所以我怎么能允许它先生?
  • 显示你在哪里(如何)使用正则表达式。
  • 我正在使用 URL 重写规则来允许 url 中的双引号这里是模式“ " 我必须允许这样的 URL "localhost:8007 /News/4330/“投票-gewend-aan-favorietenrol”
  • 尝试将[A-Z] 添加到第一组:^([_0-9A-Za-z-]+)/([_0-9A-Za-z-]+)/([_0-9A-Za-z-‘!@#$%^*()!~`\x22\x42.]+),或使正则表达式不区分大小写(如果有选项)。
  • 如果它不起作用,请检查^(在搅拌开始时锚定模式)是否真的需要。也许您只需要删除它并在末尾添加$(如果您只需要检查用/分隔的最后3个部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-05
  • 1970-01-01
相关资源
最近更新 更多