Python中如何使用正则表达式排除一个特定的单词?
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中如何使用正则表达式排除一个特定的单词?
5 回复
来一发正则表达式
\b(?!max)\w+?(.+?)
谢谢~!也可以这么写:
x=r’([^()]*)‘
x=r’\b(?!MAX)[A-Z]+?’ + x
酱紫也行:[A-Z]+(?<!MAX)(.*?)
\s((?!MAX)[A-Z]+?(.+?))
\s 表示大写字母前面的空格,(?!MAX)表示不匹配这个,[A-Z]+?表示匹配大写字母,(.+?)括号和里面的内容


