用正则表达式 在下面这2段话中(供货单位: 浙江上药新欣医药有限公司1购进日期) ,((供货单位: 浙江上药新欣医药有限公司1购进日期))匹配到 浙江上药新欣医药有限公司
时间: 2024-01-04 19:03:37 浏览: 130
以下是匹配的正则表达式:
```
/供货单位:\s*([\u4e00-\u9fa5]+)\d+购进日期|((供货单位:\s*([\u4e00-\u9fa5]+)\d+购进日期))/
```
解释:
- `供货单位:\s*([\u4e00-\u9fa5]+)\d+购进日期` 匹配 "供货单位:" 后面的空格或制表符(`\s*`),然后是一个或多个中文字符(`[\u4e00-\u9fa5]+`),紧接着是一个或多个数字(`\d+`),最后是 "购进日期"。
- `|` 表示或。
- `((供货单位:\s*([\u4e00-\u9fa5]+)\d+购进日期))` 匹配 "((供货单位:" 后面的空格或制表符(`\s*`),然后是一个或多个中文字符(`[\u4e00-\u9fa5]+`),紧接着是一个或多个数字(`\d+`),最后是 "购进日期))"。
示例代码:
```python
import re
text1 = "供货单位: 浙江上药新欣医药有限公司1购进日期"
text2 = "((供货单位: 浙江上药新欣医药有限公司1购进日期))"
pattern = r'供货单位:\s*([\u4e00-\u9fa5]+)\d+购进日期|((供货单位:\s*([\u4e00-\u9fa5]+)\d+购进日期))'
match = re.search(pattern, text1)
if match:
print(match.group(1))
match = re.search(pattern, text2)
if match:
print(match.group(2))
```
输出:
```
浙江上药新欣医药有限公司
浙江上药新欣医药有限公司
```