gpt4 book ai didi

c# - 正则表达式允许某些特殊字符和括号

转载 作者:行者123 更新时间:2023-11-30 21:42:15 33 4
gpt4 key购买 nike

我在 asp.net 上工作,有很多字符串,我必须允许字母数字和一些特殊字符,比如 ->_ - [ ] ( ) { } , .我正在使用像

这样的正则表达式
Regex name = new Regex("(a-zA-Z0-9 _ \[ \] \) \( \{ \} \-)*");

它不适合我。任何人都可以建议有效的正则表达式。

最佳答案

使用带有 anchor 的字符类:

Regex name = new Regex(@"^[a-zA-Z0-9_[\])({}-]*$");

它只允许包含 0+ 个 ASCII 字母、数字或 _, [, ], )({}- 符号。

请注意,在字符类中,- 放在字符类的开头/结尾时不必转义,否则您必须转义它,与 ]< 相同 char 在上面的模式中被转义。如果 ] 位于 .NET 中字符类的开头,则不必转义,但如果您需要在客户端运行相同的正则表达式,则不能这样做,因为 JS 正则表达式需要在字符类中转义 ]

如果您不想允许空字符串,请在 $ 之前的末尾将 * 替换为 +

^是字符串 anchor 的开始,$是字符串 anchor 的结束。他们确保除了字符类中定义的字符之外,不能在字符串中使用任何字符。

关于c# - 正则表达式允许某些特殊字符和括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42695892/

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