【发布时间】:2021-07-16 20:14:09
【问题描述】:
我需要在括号中找到匹配某个特定字符串和字符串中所有值的字符串。 不是我从字符串匹配的位置获取值。
text = 'This is an sample string which have some information in brackets (info; matchingString, someotherString).'
regex= r"\(*?matchingString.*?\)"
matches = re.findall(regex, text)
从这里我得到结果 匹配字符串,其他字符串) 我想要的是在匹配字符串之前获取字符串。 结果应该是这样的: (信息;匹配字符串,其他字符串) 如果匹配字符串在括号中的第一个字符串中,则此正则表达式有效。
【问题讨论】:
-
使用
r"\([^()]*?matchingString[^)]*\)",见regex demo。 -
\(.*?中应该有一个.,否则你匹配可选的括号给你部分匹配。 -
不,上面提到的堆栈溢出链接问题没有回答问题。但我从那里得到帮助,并能够创建我的问题中提到的正则表达式。
标签: python python-3.x regex