我想捕获*
之前的所有<
组
r'(?<!\<)(\*{1,4})'
这仅省略了<*
,但没有省略<**
或<***
。
我正在使用Python 3和重新库。
答案 0 :(得分:5)
您可以使用
(?<![<*])(\*{1,4})(?!\*)
请参见regex demo
在后面的*
中向<
添加一个(?<![<*])
可以防止星号与之匹配,如果它们前面也有另一个星号,而负向的lookahead则可以防止它们与星号相匹配。
详细信息
<
-当前位置左侧紧随其后的是*
或(\*{1,4})
的否定后向匹配失败(?!\*)
-1到4个星号jsonObj.general_array.push({newKey:['d','e','f']});
-如果在当前位置的右侧紧邻有一个星号,则负匹配将使匹配失败。