C# c中模式的正则表达式#

C# c中模式的正则表达式#,c#,.net,regex,C#,.net,Regex,我还在学习正则表达式,所以我需要一些帮助 规则如下: 字符串的最小/最大长度:1-5 字符串必须是一个完整的单词 字符串可以包含:A-Z和/或A-Z和/或0-9,或仅包含两者的组合(例如,不允许使用\-.*) 示例: 12345 – allowed Os342 – allowed 2O3d3 – allowed 3sdfds dsfsdf – not allowed Sdfdf.sdfdf –now allowed 那么: string input = "12345"; bool matc

我还在学习正则表达式,所以我需要一些帮助

规则如下:

  • 字符串的最小/最大长度:1-5
  • 字符串必须是一个完整的单词
  • 字符串可以包含:A-Z和/或A-Z和/或0-9,或仅包含两者的组合(例如,不允许使用\-.*)
示例:

12345 – allowed
Os342 – allowed
2O3d3 – allowed
3sdfds dsfsdf – not allowed
Sdfdf.sdfdf –now allowed
那么:

string input = "12345";
bool match = Regex.IsMatch(input, "^[a-z0-9]{1,5}$", RegexOptions.IgnoreCase);
那么:

string input = "12345";
bool match = Regex.IsMatch(input, "^[a-z0-9]{1,5}$", RegexOptions.IgnoreCase);
怎么样

^[A-Za-z0-9]{1,5}$
怎么样

^[A-Za-z0-9]{1,5}$
  • [a-zA-Z0-9]
    指定允许的范围
  • ^
    指定字符串的开头
  • $
    指定字符串的结尾
  • {1,5}
    表示该范围的最小和最大字符数
  • [a-zA-Z0-9]
    指定允许的范围
  • ^
    指定字符串的开头
  • $
    指定字符串的结尾
  • {1,5}
    表示该范围的最小和最大字符数

Regex是用哪种编程语言/实用程序编写的?我是用C#编写的。但是为什么不重要呢?C#RegEx tester:因为每种语言都有稍微不同的regexp语法。这是我可能帮不了你的一个原因,我不懂C。不同语言中的正则表达式实现略有不同。甚至VisualStudio本身也在其“查找/替换”对话框中使用非.NET正则表达式实现:请问正则表达式是用哪种编程语言/实用程序实现的?我是用C#来实现的。但是为什么不重要呢?C#RegEx tester:因为每种语言都有稍微不同的regexp语法。这是我可能帮不了你的一个原因,我不懂C。不同语言中的正则表达式实现略有不同。甚至VisualStudio本身也在它的find/replace对话框中使用非.NET正则表达式实现:在没有^和$的情况下,他给我的regexp测试仪与“123456”中的“12345”匹配;显然这应该被拒绝。你对其他角色的看法是对的。我删除了我的答案,谢谢。@Jeffrey:我使用了RegexOptions.IgnoreCase,所以不会将a-z与a-z区分开来(正如OP所说的是与C#一起工作)。但是你可以删除它并添加A-Z,如果你不想要“^”和“$”,他给我的regexp测试仪匹配“123456”中的“12345”;显然这应该被拒绝。你对其他角色的看法是对的。我删除了我的答案,谢谢。@Jeffrey:我使用了RegexOptions.IgnoreCase,所以不会将a-z与a-z区分开来(正如OP所说的是与C#一起工作)。但是如果你想做
1,5
来捕获小于5个字符的字符串,我想你可以删除它并添加A-Z。我想你想做
1,5
来捕获小于5个字符的字符串。