gpt4 book ai didi

c# - 如何通过正则表达式检查允许 '[' 和 ']'

转载 作者:行者123 更新时间:2023-11-30 20:06:19 24 4
gpt4 key购买 nike

我进行了以下正则表达式检查,以确保仅输入字母、数字和 * 字符。

Regex.IsMatch(searchString, @"^[a-zA-Z0-9*]+$")

但是,我想将其扩展为也接受 ( ) [ ] 字符。到目前为止,这是我尝试过的方法,但返回的是错误的:

Regex.IsMatch(searchString, @"^[a-zA-Z0-9[]()*]+$")

谁能提出解决方案?

最佳答案

\ 转义它们:

Regex.IsMatch(searchString, @"^[a-zA-Z0-9\[\]()*]+$")

应注意,转义规则根据字符是否在字符类(即 [_chars_])内而有所不同。

例如 - ( 必须在字符类之外转义为 \(,否则它表示组的开始(即 (_something to capture_))。其他字符如 ?. 如果在字符类之外,则必须始终进行转义。

注意

我已经删除了术语“字符”的使用,因为有人正确地向我指出,无论我试图描述得多么清楚,它仍然会导致与“组”的混淆'(捕获/非捕获)。正则表达式可能已经够令人困惑了,因为它不需要我进一步搅浑水。

关于c# - 如何通过正则表达式检查允许 '[' 和 ']',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9941416/

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