gpt4 book ai didi

c# - 用户名的正则表达式?

转载 作者:行者123 更新时间:2023-11-30 22:08:48 25 4
gpt4 key购买 nike

在 C# 中,我尝试验证具有以下限制的用户名:

  • 大小写英文字母(a-z、A-Z)
  • 数字 0 到 9
  • 可接受的字符! # $ % & ' * + -/= ? ^ _ ` { | }~\,. @ ( ) < > [ ]

用户名对以什么字符开头没有限制,以上都可以。你能帮我想出这个正则表达式吗,尤其是我必须转义的字符,因为它们在正则表达式规则中已经有含义了?

最佳答案

character class 中,您只需要注意 ^-]\

前三个必须转义或放在明确的位置:

  • 对于^,除了类中的第一个字符之外的任何地方,
  • 对于-,在类(class)开始或结束时,
  • 对于 ],它位于类的开头(例如,这至少在 .NET 中是可能的,但在 JavaScript 中则不行)。

必须始终对反斜杠进行转义。

所以这是可行的:

^[]A-Za-z0-9!#$%&'*+/=?^_`{|}~\\,.@()<>[-]*$

但我会用

^[A-Za-z0-9!#$%&'*+/=?^_`{|}~\\,.@()<>[\]-]*$

为了便携性。

Regular expression visualization

Debuggex Demo

关于c# - 用户名的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22015460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com