python 正则匹配 "支行""银行"不在结尾,"有限""区"不在开头
时间: 2023-09-03 09:09:34 浏览: 46
可以使用以下正则表达式:
```python
\b(?!有限|区)(支行|银行)\b(?!$)
```
解释:
- `\b` 表示单词边界,确保匹配的是一个单词。
- `(?!有限|区)` 表示负向前瞻,即后面不能跟着 "有限" 或 "区"。
- `(支行|银行)` 表示匹配 "支行" 或 "银行"。
- `\b(?!$)` 表示单词边界后面不能是行尾。
相关问题
python正则匹配开头结尾
Python正则表达式可以使用^符号匹配字符串的开头,使用$符号匹配字符串的结尾。例如,如果要匹配以hello开头的字符串,可以使用'^hello'作为正则表达式。如果要匹配以world结尾的字符串,可以使用'world$'作为正则表达式。下面是一个例子:
```python
import re
# 匹配以hello开头的字符串
pattern1 = r'^hello'
text1 = 'hello world'
result1 = re.findall(pattern1, text1)
print(result1) # ['hello']
# 匹配以world结尾的字符串
pattern2 = r'world$'
text2 = 'hello world'
result2 = re.findall(pattern2, text2)
print(result2) # ['world']
```
python 正则匹配 不包含"支行""银行""有限""区"
可以使用否定预测先行断言来实现:
```
import re
text = "某某有限公司支行"
pattern = r"(?!支行|银行|有限|区).+"
result = re.match(pattern, text)
if result:
print(result.group(0))
else:
print("匹配失败")
```
输出:
```
某某
```
解释:
- `(?!支行|银行|有限|区)`:否定预测先行断言,表示后面不应该出现支行、银行、有限、区这些词。
- `.+`:匹配一个或多个任意字符。