我有下面的正则表达式和输入字符串。你知道吗
pattern = re.compile(r'\s+(?=[^()|^{}|^<>]*(?:\(|\{|\<|$))')
string = "token1 token2 {a | op (b|c) | d}"
print pattern.split(string)
结果是:["token1","token2","{a | op","(b|c) |d}"]
我希望正则表达式给出以下结果:["token1","token2","{a | op (b|c) | d}"]
Tags:
你可以简单地用这个分开
请参见演示。你知道吗
https://regex101.com/r/WjQVqZ/1
输出:
split方法使用的原始模式是
r'\s+(?=[^\}]*(?:\{|$))'
。你知道吗每次遇到空格时,您都希望向前看一个右大括号,这样就可以知道空格是否在大括号内,除非下一步看到的是左大括号或字符串的结尾。你知道吗
相关问题 更多 >
编程相关推荐