2024-09-30 05:21:17 发布
网友
我有一个字符串'(test)skip(test774)2;3(xx2324)'。单词'skip'的存在是必要的
'(test)skip(test774)2;3(xx2324)'
'skip'
re.search('skip[(].+[)]', args[0]).group(0)
给我'skip(test774)',但不是'test774'。我可以使用切片[5:-1]来获得'test774',但它太笨拙了
'skip(test774)'
'test774'
[5:-1]
使用正则表达式仅获取方括号中的值('test774')的最简单方法是什么
要隔离所需的文本,请在正则表达式中与该文本匹配的部分周围使用捕获组
re.search('skip[(]([^)]+)[)]', args[0]).group(1)
我所做的更改是,您有.+(任何非空字符序列),我有([^)]+)(包含除)以外的非空字符序列的捕获组;这意味着这部分匹配在第一个)之前停止,而不是像.+那样在最后一个)之前停止
.+
([^)]+)
)
regex101.com demo and explanation
要隔离所需的文本,请在正则表达式中与该文本匹配的部分周围使用捕获组
我所做的更改是,您有
.+
(任何非空字符序列),我有([^)]+)
(包含除)
以外的非空字符序列的捕获组;这意味着这部分匹配在第一个)
之前停止,而不是像.+
那样在最后一个)
之前停止regex101.com demo and explanation
相关问题 更多 >
编程相关推荐