我有一个字符串'(test)skip(test774)2;3(xx2324)'
。 'skip'
这个词的存在是必要的。
re.search('skip[(].+[)]', args[0]).group(0)
给了我'skip(test774)'
,但不是'test774'
。我可以使用切片[5:-1]
来获取'test774'
,但它太笨拙了
使用正则表达式获取括号('test774')中的值的最简单方法是什么?
答案 0 :(得分:2)
要隔离所需的文本,请使用与该文本匹配的正则表达式部分周围的捕获组。
re.search('skip[(]([^)]+)[)]', args[0]).group(1)
我所做的更改是你有.+
(任何非空字符序列)的地方,我有([^)]+)
(一个包含除{{1}以外的非空字符序列的捕获组这意味着匹配的这一部分会在第一个)
之前停止,而不是在最后一个)
之前停止,而)
会停止。