regex - 获得第二组的一部分
问题描述
我在使用正则表达式时遇到了一些困难。
这是我正在执行正则表达式的字符串示例:
This is some useless information (first;second;third;fourth;fifth;sixth) (seventh;eigth;ninth;tenth)
我正在寻找一个正则表达式,它允许我只选择括号中的一个单词,比如“第九个”。我需要选择的词取决于我在程序中的位置,所以一旦我知道如何编写它,我就会调整正则表达式
目前我发现的最好的是:(?<=\()([^]]+?)(?=\)).*?
这使我可以匹配括号之间的组的全部内容。
有人能帮助我吗?
解决方案
如果需要在给定变量
输入参数的情况下匹配括号之间的内容,可以这样做:
(?<=\()(?:(?![()]).)*?(?<=[(;])(ninth)(?=[);])(?:(?![()]).)*(?=\))
它是通过连接三个部分来动态构建的。
(?<=\()(?:(?![()]).)*?(?<=[(;])(
+变量+)(?=[);])(?:(?![()]).)*(?=\))
https://regex101.com/r/6yxQyp/1
如果需要,变量在第 1 组中被捕获。
推荐阅读
- python - ModuleNotFoundError:VSCode 中没有名为“seaborn”的模块
- javascript - WebSocket 与 PHP - 创建多个函数
- android - 重新打开应用程序但服务仍在运行时会删除前台服务通知
- c# - 使用 refit 进行 api 调用后我需要做什么
- git - 本地 git repo 已损坏?所有文件都被识别为新文件并且拉取失败 - 无法锁定引用,引用已损坏
- woocommerce - 按特定产品 SKU 隐藏 woocommerce 产品
- javascript - 检测 Angular 中的资源加载
- github - Jenkins:需要安装哪个插件才能获得构建触发器选项“GitHub hook trigger for GITScm polling”
- html - 打字稿/角度中的对象可能为“空”
- php - Laravel Octane 缓存不持久