Regex 使用括号、空格和等号拆分字符串

Regex 使用括号、空格和等号拆分字符串,regex,python-3.x,Regex,Python 3.x,我有以下字符串,我只想提取“我的重要文本” 我们可以尝试将re.findall与以下模式一起使用: \bbody=\[(.*?)\] 脚本: inp = "cssbody=[short_bdy] cssheader=[short_hdr] body=[My Important Text] offsetx=[10] offsety=[20] delay=[300]" matches = re.findall(r'\bbody=\[(.*?)\]', inp) print(matches[0])

我有以下字符串,我只想提取“我的重要文本”


我们可以尝试将
re.findall
与以下模式一起使用:

\bbody=\[(.*?)\]
脚本:

inp = "cssbody=[short_bdy] cssheader=[short_hdr] body=[My Important Text] offsetx=[10] offsety=[20] delay=[300]"
matches = re.findall(r'\bbody=\[(.*?)\]', inp)
print(matches[0])
这张照片是:

My Important Text

你的正则表达式应该是
\bbody=\[([^]]*)\]
@fedup我没有对OP想要保留的匹配做任何假设(因为他的样本数据只显示一个匹配)。如果你想匹配尽可能多的匹配,那么
(?:(?:^\b)body=\[([^]*)\
。翻译成英文时,我希望括号内所有非关闭括号字符都跟随字符“Sype=”,只要“Stry=”位于字符串的开头或中间的前面有一个空格。@ TimieGeeleSeIn您的假设是正确的,谢谢您的帮助。我与正则表达式有着爱/恨的关系-我以前没有使用过\b单词边界,所以我会仔细阅读它。@Bill和正则表达式可能对我们也有同样的感觉:-)这是一个在字符串中尝试正则表达式模式的方法。
My Important Text