python 正则匹配 人名,其中,排除出现"支行""公司""银行"的名字
时间: 2023-09-23 08:04:51 浏览: 164
可以使用负向断言来实现排除匹配,具体正则表达式如下:
```python
import re
# 匹配中文姓名,排除出现"支行"、"公司"、"银行"的名字
pattern = r'(?<!支行|公司|银行)[\u4e00-\u9fa5]+'
# 测试样例
text = '张三 李四 支行王五 六七公司 建设银行赵八'
# 匹配结果:['张三', '李四', '赵八']
result = re.findall(pattern, text)
print(result)
```
解释一下正则表达式:
- `(?<!支行|公司|银行)` 表示负向断言,表示不匹配后面是"支行"、"公司"、"银行"的字符串。
- `[\u4e00-\u9fa5]+` 表示匹配一个或多个中文字符。
阅读全文