c# 验证字符串包含匹配数量的括号

2024-01-22

如果我有一个这样的字符串......

"123[1-5]553[4-52]63244[19-44]"

...验证以下条件的最佳方法是什么:

  1. 每个左括号都有一个匹配的右括号
  2. 没有超过3括号组
  3. no嵌套括号(即 [123-[4]9])

正则表达式能够验证所有这些场景吗?如果没有的话,LINQ 怎么样?


因为不允许嵌套,所以可以使用正则表达式:

^([^[\]]*\[[^[\]]*\]){0,3}[^[\]]*$

解释:

  • (...){0,3} matches up to three sets of the following:
    • [^[\]]*匹配可选的非括号字符
    • \[火柴[开一个群组
    • [^[\]]*匹配组内可选的非括号字符
    • \]火柴]关闭群组
  • 最后,[^[\]]*匹配所有组之后的更多可选非括号字符
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c# 验证字符串包含匹配数量的括号 的相关文章

随机推荐

  • 自定义 PowerShell 提示[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 带有“#”的意图过滤器路径前缀不起作用

    我正在尝试设置一个意图过滤器 以便在用户单击以下 URI 时启动我的活动 example com pathA pathB pathC someGUID 所以我将以下 XML 添加到清单文件中
  • 从 UICollectionView 索引路径获取模型

    我在用着RxSwift将模型数组绑定到集合视图 如何从给定的indexPath获取模型对象 我正在像这样进行绑定 vm bikeIssueCatagories drive self collectionView rx items cellI
  • Docker 创建了两个桥来破坏我的互联网访问

    我面临一个非常奇怪的问题 这是我的配置 docker 17 ce ubuntu 16 04 我在两个不同的地方与不同的互联网提供商工作 首先 一切工作正常 我可以开箱即用地运行 docker 并毫无问题地访问互联网 但第二 当 docker
  • 在没有输出文件的情况下调用 aws lambda

    我正在尝试使用 CLI 在 AWS 上调用 lambda aws lambda invoke function name GetErrorLambda payload body Id 321 123 output 我想知道是否有办法在 cl
  • 链接服务器和同义词之间的区别?

    t sql链接服务器和同义词有区别吗 如果是的话 它们是什么 在什么情况下我会选择其中之一 您使用链接服务器连接到不同服务器上的数据库 您使用同义词来指定要在 SQL 中访问的对象 例如表 它就像别名 欲了解更多信息 请参阅here htt
  • String.Format 在字符串内存储双引号[重复]

    这个问题在这里已经有答案了 我想表示以下字符串 aaaa 23 something inside double quotes 99 8 7 我想用这个来做到这一点String Format StringBuilder AppendLine
  • 在 Spring Security 中使用自定义异常

    我创建了一个自定义AuthenticationProvider执行自定义安全检查 我还创建了继承自的自定义异常AccountStatusException通知用户状态问题 例如用户在特定时间段内未验证其帐户 我的UserDetails也是一
  • 如何测量 React 16 中浪费的渲染?

    我之前用过反应插件性能 https reactjs org docs perf html printwasted包来测量各种东西 例如浪费的渲染通过Perf printWasted 不幸的是 这个包在 React 16 中被淘汰 取而代之的
  • screen.width/height 给出有关屏幕分辨率的错误信息

    我的屏幕分辨率为 1200 x 800 但此脚本给我的分辨率为 1429 x 893 为什么它不起作用 附注在其他网站上这段代码screen width screen height但是当在本地主机上运行它时 它会给出错误的信息 From M
  • 如何在我的 searchcontroller 中使用 queryStartingAtValue 来搜索用户?

    我之前曾问过一个关于以最具成本效益的方式搜索用户的问题 无需加载整个数据库中的每个用户 问题之前我的代码是 class FollowUsersTableViewController UIViewController IBOutlet var
  • NVML 头文件丢失

    我正在尝试执行一些 CUDA 代码 该代码恰好有一些 NVML 库函数 如 nvmlSystemGetDriverVersion 但是 当我尝试编译代码时 它说找不到 nvml h 由于 nvml h 似乎不存在 我应该如何在我的系统上安装
  • 将矩阵从 3d 重塑为 2d 并保留行

    我正在将 3d 矩阵转换为 2d 矩阵 这是形状变换 n x m x o gt n o x m 矩阵的元素与行相关 因此 结果矩阵中需要具有相同的行 A rand 2 2 3 这样做 C reshape A 2 3 2 不保留 A 中的行
  • Django 重定向到自定义 URL

    在我的 Django 应用程序中 如何将用户重定向到 somescheme someurl com 为了给您一些背景信息 以防有帮助 我有一个用 Python Django 编写的工作 oauth2 服务器 我需要允许用户注册具有自定义 U
  • 为所有Java组件设置相同的字体

    我想为 a 中的所有组件设置特定字体JPanel但我更喜欢这个问题更笼统 不限于 JPanel 如何将字体设置为容器 JFrame 或 JPanel 中的组件列表 这是一个简单的方法 允许您为任何容器 或 只是一个简单的组件 没关系 下的整
  • 原则 2:水合键值数组

    为什么这个查询不起作用 query this gt em gt createQuery SELECT COUNT p AS products count FROM Application Entity Category c INDEX BY
  • git + mountain lion + dyld:惰性符号绑定失败:找不到符号:___strlcpy_chk

    操作系统 Mac OS 10 8 3 xcode 安装了 4 6 3 w 命令行工具 usr local bin git gt usr local git bin git 有什么想法如何解决吗 我能够找到关于a 安装命令行工具和b 确保 u
  • Jenkins + Build Flow,如何将变量从一个作业传递到另一个作业

    我有一个类似于以下的构建流程场景文档示例 https wiki jenkins ci org display JENKINS Build Flow Plugin 两项工作 一项紧随另一项 b build job1 build job2 pa
  • 什么是“android.R.id.text1”?

    我是 Android 开发新手 在记事本示例中 我看到以下代码片段 SimpleCursorAdapter adapter new SimpleCursorAdapter this R layout noteslist item curso
  • c# 验证字符串包含匹配数量的括号

    如果我有一个这样的字符串 123 1 5 553 4 52 63244 19 44 验证以下条件的最佳方法是什么 每个左括号都有一个匹配的右括号 没有超过3括号组 有no嵌套括号 即 123 4 9 正则表达式能够验证所有这些场景吗 如果没