python 正则匹配 不包含"支行""银行""有限""区"
时间: 2023-09-02 09:07:08 浏览: 94
可以使用否定预测先行断言来实现:
```
import re
text = "某某有限公司支行"
pattern = r"(?!支行|银行|有限|区).+"
result = re.match(pattern, text)
if result:
print(result.group(0))
else:
print("匹配失败")
```
输出:
```
某某
```
解释:
- `(?!支行|银行|有限|区)`:否定预测先行断言,表示后面不应该出现支行、银行、有限、区这些词。
- `.+`:匹配一个或多个任意字符。
相关问题
python 正则匹配 "支行""银行"不在结尾,"有限""区"不在开头
可以使用以下正则表达式:
```python
\b(?!有限|区)(支行|银行)\b(?!$)
```
解释:
- `\b` 表示单词边界,确保匹配的是一个单词。
- `(?!有限|区)` 表示负向前瞻,即后面不能跟着 "有限" 或 "区"。
- `(支行|银行)` 表示匹配 "支行" 或 "银行"。
- `\b(?!$)` 表示单词边界后面不能是行尾。
python 正则匹配银行卡号
以下是一种匹配银行卡号的正则表达式:
```
\b\d{16}|\d{19}\b
```
该正则表达式匹配16位或19位数字,以单词边界(\b)开始和结束,因此不会匹配到包含其他字符的字符串。
示例代码:
```python
import re
pattern = r"\b\d{16}|\d{19}\b"
text = "我的银行卡号是6225888888888888,你的是9558888888888888888。"
matches = re.findall(pattern, text)
print(matches) # ['6225888888888888', '9558888888888888888']
```
阅读全文