正则表达式提取特异性p

2024-09-30 05:21:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串'(test)skip(test774)2;3(xx2324)'。单词'skip'的存在是必要的

re.search('skip[(].+[)]', args[0]).group(0)

给我'skip(test774)',但不是'test774'。我可以使用切片[5:-1]来获得'test774',但它太笨拙了

使用正则表达式仅获取方括号中的值('test774')的最简单方法是什么


Tags: 方法字符串testresearchgroupargs切片
1条回答
网友
1楼 · 发布于 2024-09-30 05:21:17

要隔离所需的文本,请在正则表达式中与该文本匹配的部分周围使用捕获组

re.search('skip[(]([^)]+)[)]', args[0]).group(1)

我所做的更改是,您有.+(任何非空字符序列),我有([^)]+)(包含除)以外的非空字符序列的捕获组;这意味着这部分匹配在第一个)之前停止,而不是像.+那样在最后一个)之前停止

regex101.com demo and explanation

相关问题 更多 >

    热门问题