c# - 正则表达式解析 "^[\0\8]*$"- 无法识别的转义序列\8

标签 c# regex

我正在尝试编写一个正则表达式,它只接受 0 作为第一个值,8 作为第二个值。我收到错误“解析“^[\0\8]*$” - 无法识别的转义序列\8。”

[RegularExpression("^[\\0\\8]*$", ErrorMessage = "Error: Contains invalid characters")]

最佳答案

.NET 不喜欢转义字符,在这种情况下不需要转义字符,因为您可以通过在字符串前面添加“@”字符来避免它们:

[RegularExpression(@"^08.*$", ErrorMessage = "Error: Contains invalid characters")]

这应该匹配任何以“08”开头的字符串。

您当前的正则表达式使用“[08]”,这与仅使用“08”有很大不同,因为方括号创建一个组,允许您使用该组中定义的任何字符。因此它可能接受带有“80”或“8088”等的字符串。

关于c# - 正则表达式解析 "^[\0\8]*$"- 无法识别的转义序列\8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27447812/

相关文章:

c# - 如何在 C# 中存储对属性的引用?

java - 在Python中解析序列化的Java对象

ios - 使用单个 RegEx 匹配字符串的变体

c# - SQL注入(inject)漏洞

c# - 我可以从 Dapper 查询返回多个派生类型的集合吗

c# - 如何使用 Web API 返回文件?

C# Linq Where 和 Regex

Python 正则表达式 : trimming special characters

Java正则表达式来标记字符串

c# - Azure DevOps Docker 在管道中构建并在版本中推送 Docker