python 中
data = r'test TES(1+2) MAX(3+2) AX(4+5)'
x=r'([^()]*)'
x=r'[A-Z]+' + x
b=re.findall(x,data)
print(b)
要求输出 ['TES(1+2)','AX(4+5)']
排除掉前缀为 MAX 的字符串,我尝试前面加(?!MAX) 但不成功
python 中
data = r'test TES(1+2) MAX(3+2) AX(4+5)'
x=r'([^()]*)'
x=r'[A-Z]+' + x
b=re.findall(x,data)
print(b)
要求输出 ['TES(1+2)','AX(4+5)']
排除掉前缀为 MAX 的字符串,我尝试前面加(?!MAX) 但不成功
1
xiangyuecn Apr 17, 2018
来一发正则表达式
\b(?!max)\w+?\(.+?\) |
2
dwjgwsm OP |
3
LadyChunsKite Apr 17, 2018
酱紫也行:[A-Z]+(?<!MAX)\(.*?\)
|
4
Hopetree Apr 17, 2018
\s((?!MAX)[A-Z]+?\(.+?\))
\s 表示大写字母前面的空格,(?!MAX)表示不匹配这个,[A-Z]+?表示匹配大写字母,\(.+?\)括号和里面的内容 |