获得第二组的一部分

问题描述 投票:-1回答:1

我在使用正则表达式时遇到了一些困难。

这是我正在执行正则表达式的字符串的示例:

This is some useless information (first;second;third;fourth;fifth;sixth) (seventh;eigth;ninth;tenth)

我正在寻找一个正则表达式,它将使我只能选择括号中的一个单词,例如'ninth'。我需要选择的词取决于我在程序中的位置,因此只要知道如何编写,我就改用正则表达式。

我目前发现的最佳结果是:(?<=\()([^]]+?)(?=\)).*?这使我可以在括号之间匹配组的全部内容。

有人可以帮我吗?

regex
1个回答
0
投票
如果需要匹配括号中的内容,则给定变量输入参数可以像这样完成:

(?<=\()(?:(?![()]).)*?(?<=[(;])(ninth)(?=[);])(?:(?![()]).)*(?=\))

它是通过将三个部分结合起来而动态构建的。

(?<=\()(?:(?![()]).)*?(?<=[(;])( +

变量 + )(?=[);])(?:(?![()]).)*(?=\))

https://regex101.com/r/6yxQyp/1

如果需要,在第1组中捕获变量的位置。

© www.soinside.com 2019 - 2024. All rights reserved.